vba - 如何使数组函数从 vba excel 中的数字创建序列月份?

标签 vba excel

我想做一些数组函数来帮助我创建报告,假设我有 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/

相关文章:

java - 带有 StepScope 注释的 PoiItemReader 不读取 Excel 文件

java - 从webtable中获取值并循环写入excel表中的每一行

ms-access - 循环遍历记录集以将 Ms-Access 报告输出到 pdf 文件

vba - 使用 VBA 将文本添加到文档中的特定文本框

excel - 一次性将 LibreOffice 公式替换为整列中的计算值

excel - 对工作簿 1 中的工作簿 2 中的数据进行排序

excel - 在不同区域设置日期格式

excel - 如何搜索多个模式以删除行?

vba - 如何从 VBA 中的不同工作表获取文件路径

excel - 我如何使Excel VBA移动到for循环中的下一个单元格?