VBA字符串作为整数始终为“0”;“零”;
我正在创建一个宏,它将识别月份,并将一年中的前3个字母和最后2个数字放入工作表名称中。这就是我迄今为止所创造的: 例如,VBA字符串作为整数始终为“0”;“零”;,vba,excel,excel-2010,Vba,Excel,Excel 2010,我正在创建一个宏,它将识别月份,并将一年中的前3个字母和最后2个数字放入工作表名称中。这就是我迄今为止所创造的: 例如,单元格(9,1)是一个月的第一天(2016年1月1日) 宏的结果为“0 16” 我的目标是“1月16日” 宏工作正常(无错误),但当ValDate字符串中有mName integer时,其始终显示“0”。Month函数在没有mName的情况下工作正常。VBA将一月视为一种变体。您尚未初始化一月,因此其值为0用双引号将名称括起来 Dim mName(1 To 12) As St
单元格(9,1)
是一个月的第一天(2016年1月1日)
宏的结果为“0 16”
我的目标是“1月16日”
宏工作正常(无错误),但当ValDate字符串中有mName integer时,其始终显示“0”。Month函数在没有mName的情况下工作正常。VBA将
一月
视为一种变体。您尚未初始化一月
,因此其值为0用双引号将名称括起来
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
Dim mName(1到12)作为字符串
mName(1)=“一月”’第13个月为非成员:)
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
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