即効テクニック |
たとえば、ワークシートに「フォーム」ツールバーのボタンを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を登録してみてください。 クリックしたボタンに応じてダイアログボックスには異なる数字が表示されるはずです。