VBA 変数の宣言の強制

初心者の方が、変数の宣言を強制せずに、次のコードを書きました。
実行したところ、エラーにこそならないものの、正常に動作しません。

どこがいけないのだろうと、一生懸命スペルチェックするも、間違った記述の箇所がなかなか見つかりません。

Sub 月別データへ()
    Dim mysheet As String
    mysheet = InputBox(“売上月を半角の数字で入力してください”)
    On Error Resume Next
    Worksheets(mysheets & “月度”).Select
    Range(“A1”).Select
    If Err.Number = 9 Then
        MsgBox “シートがありません”
    End If
End Sub

そこで、変数の宣言を強制し、コンパイルしたところ、

変数の使いかたが間違っていること、瞬時に解決です。

目次

「変数の宣言の強制」

「Excel VBAでは宣言しなくても変数は使える」ことになっていますが、きちんと宣言することを強くお奨めします。ただ単に、変数のチェックするというだけでなく、明示的に変数を宣言すると、だれが見ても分かり易いコードを初心者でも書くことができます。

変数の宣言の強制はどうすればいい?

コードウインドウの先頭行に「Option Explicit」と記述します。

変数の宣言の強制を自動的にするには?

VBEの「ツール」→「オプション」とクリックし「編集」タブの「変数の宣言を強制する」にチェックを付けます。

この操作をした後に新規に作成するモジュールから、自動的にコードウインドウ先頭行に「Option Explicit」と記述され、機能が有効になります。

よかったらシェアしてね!

この記事を書いた人

目次
閉じる