他カテゴリ

「実行しますか?」確認して実行させたい。【Excelマクロ講座】

IMAKARA's icon'
  • IMAKARA
  • 2024/01/20 15:01

マクロで動かした後は元に戻せません。
保存しないぐらいしか対応方法がないので、実行前の確認は結構重要です。

Content image

今回はそんな実行確認用ダイアログの出し方。
↓のVBA文はそのままコピーして使えますし、作ったマクロのSubのひとつ下の行に差し込むのも良いでしょう、その場合はSubとEnd Subはコピーせず中身だけコピーするようにしましょう。

Content image

ちなみに操作記録をしてマクロを作成した時はコメント行として3行か4行あると思うのでその下に中身を貼り付けて動作を確認してみましょう。

「はい」「いいえ」の後もメッセージを表示。

Sub execonfirmYN()

Dim ALT As VbMsgBoxResult
ALT = MsgBox("実行しますか?", vbYesNo + vbExclamation, "Exe confirm")
If ALT = vbYes Then
MsgBox "実行しました。"
End If
If ALT = vbNo Then
MsgBox "中止しました。"

End Sub

「はい」の後にだけメッセージを表示。

Sub execonfirmY()

Dim ALT As VbMsgBoxResult
ALT = MsgBox("実行しますか?", vbYesNo + vbExclamation, "Exe confirm")
If ALT = vbYes Then
MsgBox "実行しました。"
End If

End Sub

実行確認のみ。

Sub execonfirm()

Dim ALT As VbMsgBoxResult
ALT = MsgBox("実行しますか?", vbYesNo + vbExclamation, "Exe confirm")

End Sub

・・

・・・

Dimの後のALTはその後の動きを管理する為の変数です。

メッセージボックス関数の中のタイトル"Exe confirm"の部分に実行する内容を入れておくとより親切ですね、ついでに使えそうなボタン引数も残しておきます。

vbOKOnly 'OKボタンのみを表示。
vbOKCancel 'OKとキャンセルボタンを表示。
vbYesNoCancel 'はい、いいえ、キャンセルを表示。
vbYesNo 'はい、いいえを表示。
vbQuestion 'ハテナアイコンを表示。
vbExclamation 'ビックリマークを表示。
vbDefaultButton1 '数字で既定ボタンの設定。

他にもありますので興味がある方は調べてみてください。
引数を複数追加する場合は

, vbYesNo + vbQuestion ,

のように引数の間に+を付けましょう。

メッセージボックス関数

MsgBox (メインメッセージ,ボタン(省略可),タイトルバー(省略可),ヘルプテキスト(省略可),ヘルプテキストの補助(省略可))

という形になっており、

MsgBox("メッセージ")

というように使う事が出来ます。
その他は省略可能ですが、ヘルプテキストを入れる場合はセットでヘルプテキストの補助(context)が省略できなくなるので注意。

画面遷移を止めている場合でも問題なし

画面移動の多いマクロを組む場合によく使う

Application.ScreenUpdating = False と True

で画面表示を止める場合でも気にせず使って大丈夫です、スクリーンアップデーティングの中でも外でもダイアログは表示してくれます。

マクロも上手に使って快適なExcelライフを!

ではでは。

Supporter profile iconSupporter profile icon
Article tip 2人がサポートしています
獲得ALIS: Article like 35.59 ALIS Article tip 27.20 ALIS
IMAKARA's icon'
  • IMAKARA
  • @IMAKARA
ゆっくりまったりのんびり、自分が出せる最高速を日々楽しんでいます。

投稿者の人気記事
コメントする
コメントする
こちらもおすすめ!
Eye catch
他カテゴリ

テレビ番組で登録商標が「言えない」のか考察してみる

Like token Tip token
26.20 ALIS
Eye catch
トラベル

梅雨の京都八瀬・瑠璃光院はしっとり濃い新緑の世界

Like token Tip token
213.49 ALIS
Eye catch
クリプト

ジョークコインとして出発したDogecoin(ドージコイン)の誕生から現在まで。注目される非証券性🐶

Like token Tip token
38.31 ALIS
Eye catch
他カテゴリ

警察官が一人で戦ったらどのくらいの強さなの?『柔道編』 【元警察官が本音で回答】

Like token Tip token
114.82 ALIS
Eye catch
他カテゴリ

SASUKEオーディションに出た時の話

Like token Tip token
35.87 ALIS
Eye catch
他カテゴリ

警察官が一人で戦ったらどのくらいの強さなの?『柔道編』 【元警察官が本音で回答】

Like token Tip token
114.82 ALIS
Eye catch
グルメ

バターをつくってみた

Like token Tip token
124.75 ALIS
Eye catch
クリプト

スーパーコンピュータ「京」でマイニングしたら

Like token Tip token
1.06k ALIS
Eye catch
ゲーム

【初心者向け】Splinterlandsの遊び方【BCG】

Like token Tip token
6.32 ALIS
Eye catch
クリプト

約2年間ブロックチェ-ンゲームをして

Like token Tip token
61.20 ALIS
Eye catch
クリプト

17万円のPCでTwitterやってるのはもったいないのでETHマイニングを始めた話

Like token Tip token
46.60 ALIS
Eye catch
クリプト

ブロックチェーンの51%攻撃ってなに

Like token Tip token
0.00 ALIS