更新日:、 作成日:

VBA エラー 449 引数は省略できません。または不正なプロパティを指定しています。

はじめに

Excel VBA マクロのエラー 449 「引数は省略できません。または不正なプロパティを指定しています。」の対処法を紹介します。

関数の引数が不足しているときに発生します。

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

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

解決する

Left 関数」は 2 つの引数が必要です。0 や 1 つしか指定しないときに発生します。

Dim s As String

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

Round 関数」は 2 つの引数を受け取りますが、1 つは省略できます。1 つも指定しないときに発生します。

Dim d As Double

d = Round()        ' エラー
d = Round(1.23)    ' OK
d = Round(1.23, 1) ' OK

引数に Optional が付いていると省略できます。それ以外は必須です。関数のヘルプを確認すると原因がわかります。

引数の数が一致していないときは「エラー 450 引数の数が一致していません。または不正なプロパティを指定しています。」が発生します。