HOME > 即効テクニック > Excel VBA > シート操作関連のテクニック > ワークシートに配置した複数ボタン使用時の技法について

即効テクニック

シート操作関連のテクニック

ワークシートに配置した複数ボタン使用時の技法について

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