• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCEL:セル判定してマクロ操作したい)

EXCEL:セル判定してマクロ操作したい

このQ&Aのポイント
  • あるセルに判定式を入力し、ボタン操作する方法はあるでしょうか?
  • セル判定が不可能であれば、セルを監視しVBAで判断するしかありません。
  • 複数のセルを記述するだけでプログラムのボリュームが大変です。関数感覚で記述したい場合、可能であれば記述方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

>Case "$A$1"の下段にCase "$A$2"と記入するとA2セルのみマクロ起動対象となる様です。 >Case "$A$1:$A$5"と選択してもマクロが起動しません。 私は、てっきり >>実際に判定したいセルは数百あります とあったので A1に書き込まれた時とA2に書き込まれた時は、 違うマクロが動くのかと思っていました。 では、 Select Case Target.Address から End Select までをすべて消して、 If (Target.Column >= 1 And Target.Column <= 2) And _ (Target.Row >= 1 And Target.Row <= 5) Then '$A$1:$B$5の時 If Target.Value <= 10 Then CommandButton1_Click Else CommandButton2_Click End If ElseIf (Target.Column >= 3 And Target.Column <= 4) And _ (Target.Row >= 11 And Target.Row <= 15) Then '$C$11:$D$15の時 'ここにその時のコードを書く end if End If に変えて下さい (Target.Column >= 1 And Target.Column <= 2) の意味は、1列目(A列)以上、2列目(B列)列以下 (Target.Row >= 1 And Target.Row <= 5) の意味は1行目以上、5行目以下 です。 即ち、$A$1:$B$5を意味します。 $A$1:$A$5の時は、 (Target.Column >= 1 And Target.Column <= 1) 若しくは、 (Target.Column = 1) に変えればOKです。

miyuka2
質問者

お礼

ご回答ありがとうございます。説明が悪くてごめんなさい。 理想の動作をすることができました。 ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.1

参考にして下さい。 Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) If IsNumeric(Target.Value) = True Then Select Case Target.Address Case "$A$1" If Target.Value <= 10 Then CommandButton1_Click Else CommandButton2_Click End If Case "$A$2" Case "$A$3" Case "$A$4" Case "$A$5" End Select End If End Sub Private Sub CommandButton1_Click() Debug.Print "CommandButton1" End Sub Private Sub CommandButton2_Click() Debug.Print "CommandButton2" End Sub ボタン1、ボタン2を押した時どの様なプログラムが動くか分かりませんが、 場合によっては、 開始時に Application.EnableEvents = False 終了時に Application.EnableEvents = True を追加してください。

miyuka2
質問者

お礼

ご回答ありがとうございます。 セル1に数値を入力するとマクロが起動できる様になりました。 ところで複数のセル対象とする場合には、 Case "$A$1"の下段にCase "$A$2"と記入するとA2セルのみマクロ起動対象となる様です。 Case "$A$1:$A$5"と選択してもマクロが起動しません。 下段にあるCase "$A$2"~Case "$A$5"はどういう意味を持つのでしょうか? 記入する位置にも何か注意が必要でしたら教えてください。

すると、全ての回答が全文表示されます。

関連するQ&A