visual basic for applications类编译错误:应为:语句结束 我试图把一些C++改写成Excel宏,但是似乎不能让VBA中的任何类的教程1行工作。p>

visual basic for applications类编译错误:应为:语句结束 我试图把一些C++改写成Excel宏,但是似乎不能让VBA中的任何类的教程1行工作。p>,excel,vba,oop,Excel,Vba,Oop,我尝试了以下方法: Public Class gamepath End Class Sub Whatever() End Sub 然后,当我运行where()宏时,我希望它能够编译,但我得到了错误: Compile error: Expected: end of Statement 它突出显示了单词gamepath 我对VB不够熟练,不知道为什么会发生这个错误,而且这个错误太模糊,我的搜索无法找到任何我可以使用的东西。有人能告诉我为什么不能编译吗?您使用的代码看起来像是vb.net,

我尝试了以下方法:

Public Class gamepath
End Class

Sub Whatever()  
End Sub
然后,当我运行
where()
宏时,我希望它能够编译,但我得到了错误:

Compile error: 
Expected: end of Statement
它突出显示了单词
gamepath


我对VB不够熟练,不知道为什么会发生这个错误,而且这个错误太模糊,我的搜索无法找到任何我可以使用的东西。有人能告诉我为什么不能编译吗?

您使用的代码看起来像是vb.net,而不是VBA。语法类似,但不相同。在VBA中,不编写类的脚本,而是插入一种特殊类型的代码模块,其中包含类的代码<代码>子对象中驻留的任何内容

插入一个类模块,将其命名为“GameClass”(类通常大小写正确,而不是小写)。在该模块中添加您的方法和任何属性(这是对属性getter/setter的一个很好的概述):

然后,您可以实例化您的
GameClass
,并从其他地方调用其方法:


这是供参考的,所以您知道。。。VB不同于VBA。VBA几乎总是局限于MS Office产品,并在产品(Excel、Word、PowerPoint等)之间实现自动化。VB现在也被称为.NET,是一种更通用的语言。如果你在VBA工作,在课堂上寻找一个良好的基础。很好地理解我的误解!我肯定认为VBA和VB是一回事。我将把它添加到我今天学到的东西列表中。是的!这清楚地回答了我的困惑,我现在可以实际完成这项任务了。非常感谢。