同じマクロを実行するボタンがシート上に複数あり、クリックされたボタンによって
引き渡す値を変化させて結果を得たい、といった場合、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
|