在VBA中将月份更改为字母
您好,我有一个当前日期的变量,我想将日期的月份更改为月份名称或任何字母 我的变量有值:在VBA中将月份更改为字母,vba,Vba,您好,我有一个当前日期的变量,我想将日期的月份更改为月份名称或任何字母 我的变量有值:19.10.2020 简而言之,我想把10号改为10号,或者,比如AA号 如何在VBA中执行此操作?每当有格式问题时,一个好的选择是查看VBA Excel宏记录器在执行任务时的功能 在这种情况下,请按如下方式格式化单元格: 将生成以下代码: Sub Macro1() ' ' Macro1 Macro ' ' Selection.NumberFormat = "[$-409]d-mmm-yy
19.10.2020
简而言之,我想把10号改为10号,或者,比如AA号
如何在VBA中执行此操作?每当有格式问题时,一个好的选择是查看VBA Excel宏记录器在执行任务时的功能 在这种情况下,请按如下方式格式化单元格: 将生成以下代码:
Sub Macro1()
'
' Macro1 Macro
'
'
Selection.NumberFormat = "[$-409]d-mmm-yy;@"
Range("G8").Select
End Sub
因此,
Range(“A1”).NumberFormat=“[$-409]d-mmm-yy;@”
将是一个有效的答案。您可以编写一个转换函数例如:
Private Sub CommandButton1_Click()
MsgBox (GetNewMonth("19.10.2020"))
End Sub
Private Function GetNewMonth(ByVal datestring As String) As String
Dim splitted() As String
splitted = Split(datestring, ".")
Dim day As String
Dim month As String
Dim year As String
day = splitted(0)
month = splitted(1)
year = splitted(2)
GetNewMonth = day & " " & ConvertMonthNumToLetter(CInt(month)) & " " & year
End Function
Private Function ConvertMonthNumToLetter(ByVal monthnum As Integer)
Select Case monthnum
Case 1
ConvertMonthNumToLetter = "JAN"
Case 2
ConvertMonthNumToLetter = "FEB"
Case 3
ConvertMonthNumToLetter = "MAR"
Case 4
ConvertMonthNumToLetter = "APR"
Case 5
ConvertMonthNumToLetter = "MAI"
Case 6
ConvertMonthNumToLetter = "JUN"
Case 7
ConvertMonthNumToLetter = "JUL"
Case 8
ConvertMonthNumToLetter = "AUG"
Case 9
ConvertMonthNumToLetter = "SEP"
Case 10
ConvertMonthNumToLetter = "OCT"
Case 11
ConvertMonthNumToLetter = "NOV"
Case Else
ConvertMonthNumToLetter = "DEC"
End Select
End Function
输出:19 OCT 2020
首先,将其转换为可以读取为日期的字符串,然后将其格式化为如下格式:
=Format(Replace("AA", ".", "/"), "d.mmm.yyyy")
-> 10.Okt.2020
您是否尝试过使用
格式$
?不,我不使用Format$,但我如何使用它?Format$(“19-10-2020”,“嗯”)
似乎对我有用。似乎需要-而不是。在数字之间thoughFormat有很多选项,我为您提供了一个指向文档的链接,以便您选择所需的选项。日期分隔符基于windows区域设置,因此Format$(“19.10.2020”,“mmm”)
可能适合您。那么Format()呢
函数。我认为他的问题是,它当前是一个看起来像日期的字符串。。。基于上述评论