即効テクニック |
たとえば、ワークシートに「フォーム」ツールバーのボタンを3つ作成したとします。 この場合、クリックされたボタンはApplication.Callerで取得できます。 つまり、3つのボタンすべてに同じマクロを登録してその中でクリックされたボタンを識別すれば、マクロは1つで済むことになります。 たとえば次のような感じです。
Sub Macro1()
Dim my変数
Select Case Application.Caller
Case "ボタン 1"
my変数 = 1
TEST1 my変数
Case "ボタン 2"
my変数 = 2
TEST1 my変数
Case "ボタン 3"
my変数 = 3
TEST1 my変数
End Select
End Sub
Sub TEST1(A)
MsgBox A
End Sub
実際にボタンを3つ作成して、すべてのボタンにMacro1を登録してみてください。 クリックしたボタンに応じてダイアログボックスには異なる数字が表示されるはずです。