6 ステップ1に関連するVBA
サンプルプログラムのステップ1に関連するVBAを説明しますので、シート[VBA説明用]を表示してください。
これから説明する「説明1-1 ~ 1-7」については、シート[実習用VBA]で実際にVBAを記述し動作を確認することが可能です。
説明1-1 Range
操作
[セルの指定_Range]ボタンと[セルのクリア_Range]ボタンを交互にクリックしましょう。セル[B4]に[日付]という文字列が表示されたり消えたりします。
プロシージャの表示方法
次の操作でVBAのプロシージャを表示します。
1).[セルの指定_Range]ボタンを右クリックし[マクロの登録]ボタンをクリックする。
2).[編集]ボタンをクリックする。
※.上記のように、ボタンと関連付けれたマクロ名が長すぎて確認できない場合は[上矢印]ボタンをクリックすればマクロ名を確認でき、[下矢印]ボタンで戻ります。
3).モジュール[VBA説明用]の中のプロシージャ[説明用111_セルの指定_Range]が表示される。
プロシージャ「説明用111_セルの指定_Range」の内容
- Sub 説明用111_セルの指定_Range()
- Range("b4").Value = "日付"
- End Sub
上記プロシージャは次の処理を行います。
- 1行目:「Subプロシージャ」の開始
- 2行目:セル[B4]に[日付]という値(文字列)を入れる
- 3行目:「Subプロシージャ」の終了
・[b4]の[b]は小文字でも大文字でも構いません。
・[Value]は値のことで[.Value]を付けずに次のように表記しても問題ありませんが、本説明では[Value]を付けています。
Range("b4") = "日付"
・「=」は、「右側の文字列・数値等を左側に入れる(代入するという)」と言う意味で、文字列の場合はダブルクォーテーションで囲みます。
このように[セルの指定_Range]ボタンをクリックすると、プロシージャ[Sub 説明用111_セルの指定_Range()~End Sub]が動作することになります。
プロシージャ「説明用112_セルのクリア_Range」の内容
上記「プロシージャの表示方法」の操作で、[セルのクリア_Range]ボタンのプロシージャを表示しましょう。
- Sub 説明用112_セルのクリア_Range()
- Range("b4").Value = ""
- End Sub
- 1行目:「Subプロシージャ」の開始
- 2行目:セル[B4]に[””(空白)]という値を入れる
- 3行目:「Subプロシージャ」の終了
・セル[B4]に[””(空白)]を入れていますので、二つのボタンを交互にクリックすることにより、値の表示/非表示を繰り返します。
・見た目は空白ですが、VBAの中では「空白」ではなく、「何も値が入っていない」状態にしています。
それでは、以下の操作で実習をしましょう。
シート[VBA実習用]での実習方法
実習方法は次の通りで、他のプロシージャでも共通です。
1).シート[実習用VBA]を表示する。
2).上記「プロシージャの表示方法」にて、[セルの指定_Range]のプロシージャを表示する。
- Sub 実習用111_セルの指定_Range()
- MsgBox "実習用111_セルの指定_Rangeの処理は設定されていません"
- End Sub
3).2行目を[Range("b4").Value = "日付"]に変更し、[文法のチェック](下記参照)を行い、エラーがないことを確認する。
4).シート[実習用VBA]上の[セルの指定_Range]ボタンをクリックし、正常に動作したかを確認する。(実行時にエラーが出た場合は、下記[実行時のエラーへの対処]参照)
文法のチェック (コンパイル)
コンパイルともいい、VBAが決められた規則通りに記述されているかどうかをチェックします。
1).[デバッグ]タブ・[VBAProjectのコンパイル]をクリックする。
2).エラーがない場合は何も表示されないが、エラーあった場合は、エラー箇所が青く、エラー内容がダイアログボックスに表示される。
実行時のエラーへの対処
実行時にダイアログボックスにエラーが表示された場合は、「4-1-3).VBEの画面操作」での説明通り異常終了した状態を解除する必要があり、次の操作をします。
1).エラー内容を確認後に、[デバッグ]をクリックする。
2).エラーへの対処方法
- [リセット]([■])アイコンをクリックし、異常終了の状態を解除し
- 黄色、または青色で表示された箇所を修正し
- 必要であれば、上記[コンパイル]を行い
- [Excel]アイコンをクリックし、Excelの画面に戻る
確認が終わりましたら、VBE画面の左上[Excel]アイコンをクリックしてシート[VBA説明用]に戻りましょう。