LoginSignup
Mit_tt
@Mit_tt

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

Excel VBAの引数が2つ以上の場合のCallステートメントの必要性について

Q&AClosed

解決したいこと

シートモジュールやクラスモジュールにメソッドを追加し、呼び出そうとすると引数が1つの場合はCallステートメントが不要ですが、2つの場合はCallステートメントをつけないと構文エラーになりました。

これはExcel VBAの仕様上、仕方がないことなのでしょうか?

以下のコードはシートモジュールに書かれています。

該当するソースコード

Public Sub test1()
    Method1 (1)
    Call Method2(1, 2)
End Sub


Private Sub Method1(ByVal num1 As Long)
    Debug.Print num1
End Sub

Private Sub Method2(ByVal num1 As Long, ByVal num2 As Long)
    Debug.Print num1
    Debug.Print num2
End Sub
0

1Answer

( )は不要です。

Public Sub test1()
    Method1 1
    Method2 1, 2
End Sub

これはExcel VBAの仕様上、仕方がないことなのでしょうか?

Call をつけた場合は( )が必要です。

3

Your answer might help someone💌