初心者の方が、変数の宣言を強制せずに、次のコードを書きました。
実行したところ、エラーにこそならないものの、正常に動作しません。
どこがいけないのだろうと、一生懸命スペルチェックするも、間違った記述の箇所がなかなか見つかりません。
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」と記述され、機能が有効になります。