编译子程序时编译错误

时间:2016-08-12 14:28:14

标签: excel-vba vba excel

VBA新手,但有多年的汇编程序,C和C#经验。我创建了一个名为CPScenarioData的私有子(wsname为String,rownum为Integer)。当我使用语句调用该过程时:

 CPScenarioData(wsname, l)

我收到错误'编译错误:预期='但是当我在语句之前发生呼叫时没有发生错误,为什么会这样。我有其他私人潜艇,我打电话没有使用呼叫工作正常。我确信我已经做出了一个简单的答案或错误,当我看到答案但是那个人的生活时会感到非常羞怯。我正在使用Excel 2013 VBA。谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

这是VB的怪癖(根据品味的特征)。要拨打子,您不需要包括括号。所以只需输入:

CPScenarioData wsname, 1

通常,括号用于表示返回值的Function。在VB中,您必须提供一个变量来接收返回的值。 (因此缺失的编译错误=;它期望a = CPScenario(wsname,1))。

添加单词Call可以保留Subs的括号(相当于c#void)。