Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VBA字符串作为整数始终为“0”;“零”;_Vba_Excel_Excel 2010 - Fatal编程技术网

VBA字符串作为整数始终为“0”;“零”;

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

我正在创建一个宏,它将识别月份,并将一年中的前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 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