我想做一些数组函数来帮助我创建报告,假设我有 number=4 然后我打算让它序列变为 1,2,3,4 然后最后这些数字将转换为“一月”、“二月” ,“三月四月”。
我尝试创建此功能,但没有任何效果。
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
如果可以帮助我,我将不胜感激。谢谢
最佳答案
您已经拥有 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
此外,
MonthName
还有一个可选的 bool 参数 Abbreviate
为您获取名称的缩写; IE。ret(num) = MonthName(num, True)
会给你“一月”,“二月”等......
关于vba - 如何使数组函数从 vba excel 中的数字创建序列月份?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42281190/