⚫️はじめに
Excel VBAでは、シート上の図形(ボタン)にマクロを割り当てることができます。
通常は引数なしのプロシージャを登録しますが、工夫すれば引数付きでマクロを呼び出すことも可能です。
この記事では、図形ボタンに引数を渡してマクロを実行する方法をわかりやすく紹介します。
ステップ1:引数付きプロシージャを用意する
まず、引数を受け取るマクロを標準モジュールに作成します。
Sub MainButton(str As String, r As Integer)
MsgBox "文字列: " & str & vbCrLf & "数値: " & r
End Sub
ステップ2:図形ボタンを作成する
- Excelの「挿入」タブから図形を選び、シート上に配置します。
- 図形を右クリックして「マクロの登録」を選びます。
- 一旦適当なマクロを選択してOKを押します(後から修正します)。
ステップ3:図形に引数付きマクロを登録する
図形を選択し、再び右クリック → 「マクロの登録」。
表示されるダイアログの「マクロ名」欄に、次のように直接記述します。
'MainButton "テスト", 12'
'プロシージャ名 引数1 引数2
※シングルクォーテーション '
で囲むのがポイントです。
文字列はダブルクォーテーション ” で囲み、数字はそのまま記述します。
ステップ4:実行確認
図形ボタンをクリックすると、MainButton
プロシージャが実行され、引数 "テスト"
と 12
が渡されます。MsgBox
が表示されれば成功です。
🔴注意点
- マクロ名欄に記述する形式は、必ずシングルクォーテーションで囲ってください。
- 引数に文字列を渡す場合は、ダブルクォーテーションで囲む必要があります。
🔵まとめ
図形ボタンにマクロを登録する際、引数付きでプロシージャを呼び出す方法を紹介しました。
少し手間はありますが、処理の柔軟性が大きく向上します。ぜひ活用してみてください。
コメント