はじめに
エクセルVBAのマクロを実行した後に、さっきどのボタンのマクロを実行したんだっけ…?
ということが私にはしばしば起こります。
実行するマクロの数を絞り、ボタンの数を多くしないことが前提だとは思いますが、どうしてもたくさんのボタンを設置せざるをえないケースで役立つ、マクロ実行後にボタンのテキストを含むメッセージを表示するコードを紹介します!
マクロ実行後にボタンのテキストを含むメッセージを表示するコード
シノ
長いマクロを実行している間にプリンターまで歩いて
席に戻ってきた時に何のマクロを実行したか思い出せない…
そんな時に役立つVBAコードです!
Sub ボタンのテキストを通知()
Dim ボタンのテキスト As String
Dim i As Long
ボタンのテキスト = ActiveSheet.Shapes(Application.Caller).TextFrame.Characters.Text
MsgBox ボタンのテキスト & " を実行します。"
For i = 1 To 50
ActiveSheet.Range("A1").Value = ActiveSheet.Range("A1").Value & "あ"
Next i
MsgBox ボタンのテキスト & " を終了しました。"
End Sub
キュウ
動画でボタンのテキストを変えると表示されるメッセージも変わっていることが分かりますね!
シノ
自身を呼び出したボタンのテキストによって分岐をかけるなど
違った使い方もできそうですね!
おわりに
マクロが自分を起動したボタンの情報を取得できることを知ったときは驚きました!
使える場面は限られているかもしれませんが、私は重宝しています。
今回紹介したVBAを書くにあたり、下記のサイトを参考にさせて頂きました!
【外部リンク】ボタンに表示されているテキストを取得(Application.Caller)|エクセルの神髄
他にも仕事に役立つエクセルVBAのコードを紹介していますので、もしよろしければご覧下さい!
【内部リンク】ショートカットに設定すると便利なセルに循環する色を付けるVBAコード
最後までお読み頂き、ありがとうございました!
コメント