Excel VBA脚本不会执行预期的msgbox?

我有一个Excel VBA脚本(下),我有麻烦显示“匹配”。 我把我的excel文件设置成以下信息。 列A5至A10具有格式为3/1/2015,3/2/2015等的date(因此A5 = 3/1/2015,A6 = 3/2/2015等)

我的工作表有7个选项卡,第一个(带有代码)是默认的sheet1。 第2至第7个选项卡的第2个选项卡分别标记为“1”,“2”,“3”等标记为“7”。 现在我只是testingA5匹配和显示的东西,如果它匹配标签2,但没有工作。 评论(出)msgboxes显示值应该匹配,但是当我尝试设置一个if(他们是平等的),没有bueno。 这是一个简化的版本,所以像“为什么不把date设置成你想要的那一天”这样的答案是行不通的。 谢谢!

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 

Day函数返回一个integer

Worksheets(2).Name是一个string属性。

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

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

你可以在这里阅读更多关于types转换的函数