特定のセルの値(チェックボックスの状態)を監視し、変更された場合にA1セルの式の参照先を切り替え
「Worksheet_Change」イベントを使うことができます。
まず、ワークシートの変更イベントを処理するために、ワークシート上で右クリックして「コードの表示」を選択します。その後、左側のウィンドウで「Worksheet」を選択し、右側のウィンドウで「Change」を選択します。
このイベントプロシージャでは、変更されたセルや範囲を特定することができます。これを使って、特定のコントロールの状態が変更された場合に、特定のセルの参照先を変更するコードを書くことができます。
たとえば、チェックボックスの状態に応じて、A1セルの式の参照先をA2セルに切り替える場合は、以下のようなコードを使うことができます。
このコードでは、B1セルの値(チェックボックスの状態)を監視し、変更された場合にA1セルの式の参照先を切り替えています。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$1" Then
If Target.Value = True Then
Range("A1").Formula = "=A2"
Else
Range("A1").Formula = "=B2"
End If
End If
End Sub
上記のコードは、あくまでも例示ですので、具体的な要件に合わせてカスタマイズする必要があります。また、複数のコントロールの状態を監視する場合は、If文を適宜追加する必要があります。
以上、参考になれば幸いです。