HOME > 即効テクニック > Excel VBA > セル操作関連のテクニック > どのボタンがクリックされたかをセルの値で判断してセルの値を引き渡す

即効テクニック

セル操作関連のテクニック

どのボタンがクリックされたかをセルの値で判断してセルの値を引き渡す

(Excel 97/2000)
同じマクロを実行するボタンがシート上に複数あり、クリックされたボタンによって引き渡す値を変化させて結果を得たい、といった場合、2つのマクロとセルの値を利用して対応する方法があります。
1つめのマクロはボタンに登録して、メイン処理を行うマクロを呼び出すと共に値を引き渡します。2つめのマクロは、1つめのマクロから値を受け取ってメインの処理を行います。
この値にそれぞれのボタンを判断する値をセットしますが、その値は特定のセルに用意しておきます。アクティブになっているセルの値を参照して、引き渡す値を変化させます。
サンプルマクロでは、ボタンに登録するマクロ「Sample_JYunbi」で、アクティブセルの値を参照して、呼び出すマクロ「Sample_Main」へ引き渡しています。
その結果、引き渡された値をメッセージボックスに表示しています。
マクロ「Sample_JYunbi」をボタンに登録して、数値が入力されたセルを選択してボタンをクリックしてください。
Dim btm_no As Integer

Sub Sample_JYunbi()
    btm_no = ActiveCell.Value
    Sample_Main btm_no
End Sub

Private Sub Sample_Main(btm_no As Integer)
    MsgBox "値「" & btm_no & "」が引き渡されました。"
End Sub