更新日:、 作成日:

VBA エラー 5 プロシージャの呼び出し、または引数が不正です。

はじめに

Excel VBA マクロのエラー 5 「プロシージャの呼び出し、または引数が不正です。」の対処法を紹介します。

関数の引数に、範囲外の値を指定したときによく発生します。

エラーの基本的な対処法は、エラー箇所の特定とその原因となったコードをデバッグします。

デバッグについては「デバッグの仕方」をご覧ください。
エラー処理については「エラー処理をする」をご覧ください。

解決する

関数によって、引数に指定できる値の範囲が決まっているものがあります。

Left 関数」なら、引数に 0 以上の数値を指定する必要があります。ここに負の値を指定すると発生します。

Dim s As String

s = Left("ABC", -1) ' エラー
s = Left("ABC", 1)  ' OK

関数のヘルプにも値の範囲が記載されていないことが多いです。そのため適切な値を 1 つずつ確認していくと原因がわかります。