【Excel VBA】とりあえずこれ

とりあえずこれ

VBAを記述するときに、とりあえずこのコードを書いておきましょうというテンプレートをご紹介します。初めての人はプログラミングっぽくなるので、楽しく取っ掛かれるはずです!

目次

早速テンプレートを見てみよう!

Sub Template()
'エラー処理
On Error GoTo ErrorHandl

'メッセージボックス表示
Dim msg As VbMsgBoxResult
msg = MsgBox("処理を続行しますか?", vbYesNo + vbQuestion)
If msg = vbYes Then
    'ここに処理を書く
    MsgBox "処理を続けます", vbInformation
Else
    MsgBox "処理を中止します", vbCritical
End If

'エラー処理
ErrorHandl:
'エラー発生時のみ、以下コードが実行される
If Err.Number <> 0 Then
    Debug.Print "FileReader.sample", Err.Description
End If

End Sub
'ここに処理を書く
MsgBox "処理を続けます", vbInformation

自身で処理したい内容は「ここに処理を書く」の次の行の「MsgBox〜」を消して書きます。

このテンプレートを使ってできることは、以下の2つです。

  • エラー処理ができる(エラーが起きた時の処理結果を返すことができる)
  • メッセージボックスにて、処理を実行するかしないかを確認できる(システムっぽくて取っ掛かりやすい)

解説

エラー処理について

エラーが発生すると処理が停止して、それ以降の処理が行われないなど不具合の原因となります。そうならないためには、エラー処理を行います。

On Error GoTo ラベル名

(エラーが発生する可能性がある処理)

Exit Sub

ラベル名:
(エラー発生時の処理)
If Err.Number <> 0 Then
Debug.Print "FileReader.sample", Err.Description
End If

このコードは、エラーが発生した場合にその情報をデバッグウィンドウに表示することで、プログラムの動作をトラブルシューティングしやすくするために使用されます。

メッセージボックスについて

'メッセージボックス表示
Dim msg As VbMsgBoxResult
msg = MsgBox("処理を続行しますか?", vbYesNo + vbQuestion)
If msg = vbYes Then
    'ここに処理を書く
    MsgBox "処理を続けます", vbInformation
Else
    MsgBox "処理を中止します", vbCritical
End If

ボタンや図形などに、「マクロの登録」をしておくと押したときに、メッセージボックス(処理を続行しますか?)が表示されます。「処理を続行しますか?」の部分は自由に変更しても問題ありません。
その後、YesかNo(はいか、いいえ)を選択するとその後の処理に続きます。
Yes(はい)を選択した後に、自身がしたい処理を記述すれば、Yes(はい)を選択したときに処理が実行されます。
No(いいえ)を選択した場合は、「処理を中止します」とメッセージボックスが表示されて処理は終了となります。

ボタンや図形にマクロ登録

VBAを作成し、エディターで実行する手間を省くために、ボタンや図形を作成しマクロを登録しましょう。
そうするとボタンを押すことでマクロが実行されます。(以下参照)

まとめ

エラー処理、メッセージボックスは、使用してもしなくても問題ありませんが、「VBAになれる」「エラー処理を習慣化する」「メッセージボックスで確認できる」などの利点がありますのでぜひ使用してみてください!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次