Django Girls and Boys 備忘録

Python、Selenium、Django、java、iPhoneアプリ、Excelマクロなどで気付いたこと、覚えておきたいことなどを載せていきます。

【Excel】ExcelマクロでMessageBoxを表示する方法



ExcelのマクロでMessageBox(メッセージボックス)を使うことで、簡単に情報を表示したり、ユーザーに選択を促したりできます。

 

このブログ記事では、MsgBox関数の基本的な使い方を紹介します!

 

 

目次

 

1.基本的な使い方

 

最も簡単な形でMsgBoxを使用すると、メッセージを表示するだけのポップアップを作成できます。

 

Sub ShowMessageBox()
MsgBox "こんにちは!Excelマクロの世界へようこそ!"
End Sub

 

上記のコードを実行すると、次のようなメッセージボックスが表示されます。

 

 

 

 

2.MsgBoxの基本構文

 

`MsgBox`関数の構文は以下の通りです:

 

MsgBox(prompt[, buttons] [, title] [, helpfile, context])

 

1. prompt
   表示するメッセージ(必須)。

2. buttons
   メッセージボックスに表示するボタンやアイコンを指定します(省略可能)。詳細は後述します。

3. title
   メッセージボックスのタイトルバーに表示される文字列(省略可能)。

4. helpfile, context
   ヘルプファイルの指定(ほとんど使用されません)。

 

3.ボタンの種類とアイコン

 

buttonsパラメータを指定すると、メッセージボックスにボタンやアイコンを追加できます。

 

ボタンの種類

定数 説明
vbOKOnly 0 [OK]ボタンのみを表示します。
vbOKCancel 1 [OK]ボタンと[キャンセル]ボタンを表示します。
vbAbortRetryIgnore 2 [中止]、[再試行]、[無視]の3つのボタンを表示します。
vbYesNoCancel 3 [はい]、[いいえ]、[キャンセル]の3つのボタンを表示します。
vbYesNo 4 [はい]ボタンと[いいえ]ボタンを表示します。
vbRetryCancel 5 [再試行]ボタンと[キャンセル]ボタンを表示します。

 

アイコンの種類

定数 説明
vbInformation 64 情報アイコン
vbExclamation 48 警告アイコン
vbCritical 16 エラーアイコン

 

例えば、情報アイコン付きで「OK」と「キャンセル」ボタンを表示するには、以下のように記述します:

 

Sub ShowMessageWithButtons()
MsgBox "この操作を続行しますか?", vbOKCancel + vbInformation, "確認"
End Sub

 

 

4.ユーザーの選択結果を取得する

 

 

MsgBox関数は、ユーザーがクリックしたボタンの結果を返します。これを利用して、条件分岐を行うことができます。

 

Sub GetUserResponse()
Dim response As VbMsgBoxResult

' メッセージボックスを表示して、結果を取得
response = MsgBox("ファイルを保存しますか?", vbYesNoCancel + vbQuestion, "保存確認")

' ユーザーの応答に応じた処理
Select Case response
Case vbYes
MsgBox "ファイルを保存しました。"
Case vbNo
MsgBox "保存せずに終了します。"
Case vbCancel
MsgBox "操作をキャンセルしました。"
End Select
End Sub

 

5.応用例: 複数行メッセージの表示

 

vbNewLineを使用すると、複数行にわたるメッセージを表示できます。

 

Sub ShowMultilineMessage()
    MsgBox "1行目のメッセージ" & vbNewLine & "2行目のメッセージ", vbInformation, "お知らせ"
End Sub

 

同様に、MsgBox関数で改行コードを使用するためにはvbCrLfを使用します。

 

Sub ShowMultilineMessage()
MsgBox "1行目のメッセージ" & vbCrLf & "2行目のメッセージ"
End Sub

 

6.応用例: エラー発生時の警告

 

 

エラーが発生した際に、エラーメッセージをユーザーに通知する例です。

 

 

Sub ErrorExample()
On Error GoTo ErrorHandler

' 意図的にエラーを発生させる(0で割り算)
Dim result As Double
result = 10 / 0

Exit Sub

ErrorHandler:
MsgBox "エラーが発生しました!" & vbNewLine & "エラー番号: " & Err.Number & vbNewLine & "詳細: " & Err.Description, vbCritical, "エラー"
End Sub

 

7.まとめ

 

ExcelマクロでMsgBoxを活用すると、メッセージの通知やユーザー入力を簡単に実現できます。

これを機に、MsgBoxを使った便利なマクロをぜひ試してみてください!

 

以上が、ExcelマクロでMessageBoxを表示する方法になります。

 

関連記事:

【Excel】ExcelマクロでMessageBoxを表示する方法 - Django Girls and Boys 備忘録

 

【Excel】Excelマクロで新しいシートを作成する方法 - Django Girls and Boys 備忘録

 

【Excel】マクロでExcelをPDF形式に保存する方法【初心者向け解説】 - Django Girls and Boys 備忘録

 

【Excel】Excel でマクロを有効化する方法 - Django Girls and Boys 備忘録

 

【Excel】Excelで文字数を簡単にカウントする方法|初心者でも分かる関数活用ガイド - Django Girls and Boys 備忘録

 

【PDF Excel】PDFからExcelへの変換方法:簡単な手順とツール紹介 - Django Girls and Boys 備忘録

 

【Excel】カレンダーを追加する方法 - Django Girls and Boys 備忘録