我有一个excel vba脚本(下面),我在显示“匹配”时遇到问题。我使用以下信息设置了我的excel文件。 A5到A10栏的日期格式为2015年3月1日,2015年3月2日等(所以A5 = 3/1/2015,A6 = 2015年3月2日等)
我的工作表有7个标签,第一个(带有代码)是默认的sheet1。第2到第7个选项卡的第二个选项卡标记为“1”,“2”,“3”等标记为“7”。现在我只是测试A5匹配并显示一些东西,如果它匹配选项卡2,但不起作用。注释(out)msgboxes显示值应该匹配,但是当我尝试设置if(它们相等)时,没有bueno。这是一个简化版本,所以答案就像“你为什么不把这一天设定为你想要的那天”不会起作用。谢谢!
Sub main()
'MsgBox Day(Worksheets("sheet1").Range("a5").Value)
'MsgBox Worksheets(2).Name
If Day(Worksheets("sheet1").Range("a5").Value) = Worksheets(2).Name Then
MsgBox "match"
End If
End Sub
答案 0 :(得分:2)
Day
函数返回integer
。
Worksheets(2).Name
是string
属性。
要比较这些值,您必须将它们转换为相同的类型。
If CStr(Day(Worksheets("sheet1").Range("a5").Value)) = Worksheets(2).Name Then
您可以详细了解类型转换函数here