お問い合わせ

サービス一覧

Excel : VBAで記述しているときに赤字が出てしまうとき

2014.10.08
田中裕明

文法に誤りがないか確認します

プロシージャを記述しているときに、「コンパイルエラー」のメッセージダイアログボックスが表示されて赤字になる場合は、書き方(文法)の誤りがある、ということです。

たとえば、次のようなとき。
・ If 文の 「then」が無い
・ “(ダブルクォーテーション)が対になっていない: ダブルクォーテーションは文字列を括るために使うので、 括る文字列の先頭と末尾とに付けます。それが一方だけの状態だとエラーになります。
・ 行継続文字の使い方が正しくない: 本来、1行で記述すべきところを、1行では長くなるので、 便宜上、複数行に分けて書く場合は、改行したい箇所の後に半角スペースを入れ、半角アンダースコアを続け、 Enterキーを押します。それが、アンダースコアの前に半角スペースがない、アンダースコアの後にスペースがある、 などの場合はエラーになります。

赤字があればエラーがあると気づくのですが、書き方の間違いがあっても記述しているときは コンパイルエラーのメッセージは出ず、赤字にもならないケースがあります。

それでも誤りは誤りなので、 実行しようとしたときにコンパイルエラーが表示されます。たとえば、次のようなとき。
・ If に対応する End If、For に対応する Next、With に対応する End With がない
・ 関数の引数に誤りがある(指定すべき引数の数が違うなど)

このような誤りがないかどうか、実行前に確認するには Visual Basic Editor の「デバッグ」から「VBAProjectのコンパイル」を選択します。

 

11_vba_01

 

これで、モジュール内に書かれているプロシージャのすべてがチェックされます。 何も表示されなければ、文法的な誤りは無いということです。 誤りがあると「コンパイルエラー」のメッセージが表示され、該当箇所が反転表示されます。

 

 

エクセルセミナーはこちら
エクセルのTipsはこちら
無料セミナーはこちら
開発のご依頼はこちら


CONTACT

お問い合わせ

業務改善に真剣に取り組む企業様。お気軽にお問い合わせください。

10:00〜17:00(土・日・祝を除く)

お客様専用電話