excel vba脚本不会执行预期的msgbox?

时间:2015-05-05 16:20:22

标签: excel vba

我有一个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

1 个答案:

答案 0 :(得分:2)

Day函数返回integer

Worksheets(2).Namestring属性。

要比较这些值,您必须将它们转换为相同的类型。

If CStr(Day(Worksheets("sheet1").Range("a5").Value)) = Worksheets(2).Name Then

您可以详细了解类型转换函数here