Ahm*_*nal 3 excel vba excel-vba
我想制作一些数组函数来帮助我创建报告,假设我有数字= 4然后我打算让它成为1,2,3,4然后最后这些数字将被转换为"1月","2月" ,"三月四月".我试图创建这个功能,但没有任何作用.
Function numtomonth(num As Integer)
r As Long
a As Integer
h As Long
For a = 1 To num
r(a) = a
If r = 1 Then r = "January"
If r = 2 Then r = "February"
If r = 3 Then r = "March"
If r = 4 Then r = "April"
If r = 5 Then r = "May"
If r = 6 Then r = "June"
If r = 7 Then r = "July"
If r = 8 Then r = "August"
If r = 9 Then r = "September"
If r = 10 Then r = "October"
If r = 11 Then r = "November"
else r="December"
end IF
Next a
h = r
End Function
Run Code Online (Sandbox Code Playgroud)
如果可以帮助我,我将不胜感激.谢谢
您已经MonthName在VBA中使用了该功能.
如果您有理由创建自己的数组,请尝试以下方法:
Function numToMonthArray(ByVal num As Integer) As String()
ReDim ret(1 To num) As String
For num = 1 to num
ret(num) = MonthName(num)
Next
numToMonthArray = ret
End Function
Run Code Online (Sandbox Code Playgroud)
此外,MonthName还有一个可选的布尔参数Abbreviate来获取名称的缩写; 即
ret(num) = MonthName(num, True)
Run Code Online (Sandbox Code Playgroud)
会得到你"Jan","Feb"等...