| すぐマク YNxv9cz52 | Home | Search | Contents | Gallery | Introduction | Service | Support | What's New! |
| 実行時エラー"5"(プロシージャーの呼び出し、または引数が不正)が発生するが? |
|
|
|||
拙著「Excel VBA マクロ組み方講座」をご購読いただき、ありがとうございます。![]() 右上図にある[デバッグ]ボタンをクリックしたら、右中図のように表示されたのですね。 エラーの原因は、エラーメッセージにあるとおり A. プロシージャの呼び出しの不正 B. 引数の不正 の どちらかになりそうです。
しかし、その意味を理解して問題点を修正することは、なかなか大変かも知れませんね。回答に入りますが、あなたが作成されたファイルを見ることができましたので、結論からご説明します。 不具合1. 「管理表」シートのB列の「c」について あなたは半角の「c」を入力し、ちょっと気がかりのようですが、正しくは英数の「c」です。 Excelでは半角英数および
半角カタカナは、使わないほうが賢明です。不具合2. コンマをピリオドで入力 コンマなのかピリオドなのか見分けにくかったでしょうが、右下図のように入力ミスがあります。 以上を修正してから実行し、結果をお知らせください。 …以下の解説は時間があったらお読みください。… A. について 黄色で網掛けされたコードは正確に入力されているので、問題ありません。 B. について 引数として変数「ドライブ」を指定しているので、そこに正しい値が入っていなければ 「引数の不正」ということになります。 変数「ドライブ」には 「管理表」シートのB列の値が代入される仕組みになっているので、半角英数の「c」が入ってしまいます。 ドライブを表す文字は、英数 (IMEが起動してない状態) の C とか D とか (小文字も可) を使います。 半角英数の「c」は、そのままで使うことはできません。 この機会にさらに理解を深めたければ、とりあえず、「管理表」シートのB列の値を正常化して、実行してみてください。すると、再び、同じエラーが表示されるはずです。 他にも不具合があることになりますので、変数「ドライブ」に関連するコードに入力ミス等の誤りがないか、注意深く検証すると、コンマとピリオドの入力ミスにたどり着くはずです。 参考ページ ・変数「ドライブ」の値を知る方法: 実行時エラー"5"(プロシージャーの呼び出し、または引数が不正)とは? ・見つけにくい入力ミスの例: 「リストボックスを動作確認する」でコンパイルエラーが発生するが? ・ピリオドをコンマとしてしまった例: Openメソッドで実行時エラーが表示されてしまうが? ・余計なコロン( : )がある例: 「パスが見つかりません」とエラー表示されるが? |
| http://www.happy500z.com/ | Home | Contents | Gallery | Introduction | Service | Support | What's New! |