Excel VBA编译器常量:Mac Excel 2011 <> VBA7?

我无法在Macintosh上运行Excel,但是由于Excel VBA编译器常量VBA7是在Excel(for Windows)2010中引入的,因此我认为它也适用于Mac Excel 2011。

但是,在Mac Excel 2011上运行时,显然这些代码会编译“Else”部分(适用于Excel 2007):

#If VBA7 Then 'Set constants here for Excel 2010 or later: #Else 'Set constants here for Excel 2007 or earlier: #End If 

所以为了让Mac Excel 2011用户能够使用它,我必须将其更改为:

 #If VBA7 Or Mac Then 'Set constants here for Excel for Windows 2010 or later, or Excel for Mac: #Else 'Set constants here for Excel for Windows 2007 or earlier: #End If 

Mac Excel 2011是否真的没有VBA7,还是只是在编译器常量的遗漏?

Excel for Mac仍然使用VBA 6.5,因此VBA7常量不存在。 Excel Mac 2016的v15.11(150609)仍然如此。

如果您真的想区分主机Excel应用程序版本,那么您应该使用Application.Version

哪里:

 5 = Excel 5 6 = Excel 6 7 = Excel 95 8 = Excel 97 9 = Excel 2000 10 = Excel 2002 11 = Excel 2003 12 = Excel 2007 14 = Excel 2010 and Excel Mac 2011 15 = Excel 2013 and Excel Mac 2016 

如果你想要VBA环境版本,你可以使用:

 Application.VBE.Version