(Excel No10)「Option Explicit–基本」

今年最後のワンポイント、しかもちょうど10回目なので基本中の基本 Option explicit について書きましょう。
通常マクロを書く場合、モジュールの最初に以下のように書いておくのは基本中の基本です。

Option Explicit
Sub
Macro1()
    Dim msg As String
    msg = "基本"
    Msgbox msh
End Sub

いないかもしれませんが、自分で打って動かしてみようとした方ごめんなさい!
これはコンパイルエラーになります。msgを間違えてmshとしている所があるからですね。ところが、Option Explicitを削除するとコンパイルエラーになりません。実行してみてはじめておかしな点に気付く事になります。これは場合によっては非常に見つけにくいバグになる事もあります。
有効範囲はそのモジュールのみです。モジュールがいくつかある場合に一つだけ忘れたなんてのはよくある話です。さらに、それにOption Explicit を追加したとたんコンパイルエラーになってしまったなんて事もよくありますね。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください