この私の簡単なスクリプト:
Sub SomeOtherSub(Stattyp As String)
'Daty and the other variables are defined here
CatSubProduktAreakum(Stattyp, Daty + UBound(SubCategories) + 2)
End Sub
Sub CatSubProduktAreakum(Stattyp As String, starty As Integer)
'some stuff
End Sub
CatSubProduktAreakumの呼び出しは、「構文エラー」として赤でマークされています。エラーがわかりません。これは、2つの引数を持つ単純なサブルーチン呼び出しです。 VBAが通話を受け付けないのはなぜですか?
試してください-
Call CatSubProduktAreakum(Stattyp, Daty + UBound(SubCategories) + 2)
理由については、MSDNからこの質問を介して VB6でCallキーワードは何をしますか?
プロシージャを呼び出すときに、Callキーワードを使用する必要はありません。ただし、Callキーワードを使用して引数を必要とするプロシージャを呼び出す場合は、argumentlistを括弧で囲む必要があります。 Callキーワードを省略する場合は、argumentlistを囲む括弧も省略する必要があります。呼び出し構文を使用して組み込み関数またはユーザー定義関数を呼び出すと、関数の戻り値は破棄されます。
まだこの投稿にアクセスしている人にとって、他のオプションは単に括弧を省略することです:
Sub SomeOtherSub(Stattyp As String)
'Daty and the other variables are defined here
CatSubProduktAreakum Stattyp, Daty + UBound(SubCategories) + 2
End Sub
Call
キーワードは、下位互換性のためにVBAにのみ存在し、実際には必要ありません。
Ifただし、Call
キーワードを使用することにした場合は、それに合わせて構文を変更する必要があります。
'// With Call
Call Foo(Bar)
'// Without Call
Foo Bar
どちらもまったく同じことを行います。
そうは言っても、括弧を不必要に使用すると、意図しない場所で評価される原因になる場合があることに注意してください(括弧はVBAでこれを行うため)。 Call
キーワードと括弧を省略します