作为整数的VBAstring总是“零”

我正在创build一个macros,它会识别几个月,并将表格的前3个字母和最后2个数字放在表格名称中。 这是我迄今创造的:

例如Cells(9,1)是每月的第一天(01/01/2016)

 Dim mName(13) As Integer Dim ValDate As String Dim years As String Dim mcount As String mName(1) = January mName(2) = Febuary 

 mName(13) = December years = Right(Year(Cells(9, 1)), 2) '16 ValDate = mName(Month(Cells(9, 1))) 'macro says its 0, but it should be January) mcount = Left(ValDate, 3) Sheets(Sheets.Count).Name = ValDate & " " & years 

macros的结果是“0 16”我的目标是“1月16日”。

macros工作正常(没有错误),但它总是显示“0”,当ValNamestring中有mName整数。 月function没有mName的正常工作。

用双引号将名称括起来。

 Dim mName(1 To 12) As String mName(1) = "January" '<~~~ double quotes ... mName(12) = "December" '<~~~ 12, not 13. There are only 12 months in a year 

VBA认为January是一个变种。 你还没有初始化January所以它的值是0