プロが教えるわが家の防犯対策術!

エクセル VBA 超入門のものなんですけど、質問させてください。
A1のセルに 1を入力したら、セルD1に正解を表示させ、 それ以外なら不正解を表示させたいのですが、  以下の文でつくると 実行した最初しか起動してないような気がするのですが、教えてください。どうすればセルA1を入力するたびに、 正解、不正解をD1に表示させれるでしょうか?

Sub テスト()
If Range("A1") = "1" Then
Range("D1").Value = "正解"
Else
Range("D1").Value = "不正解"
End If
End Sub

A 回答 (2件)

標準モジュールではなくシートモジュールを


使えば簡単です。

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("A1") = "1" Then
Range("D1").Value = "正解"
Else
Range("D1").Value = "不正解"
End If

End Sub
    • good
    • 0
この回答へのお礼

お礼が遅くなりました どうも助かりました

お礼日時:2009/06/22 12:39

その程度なら、VBAを使わずに、D1セルにIF関数を使った数式を書くだけですみますが、VBAの勉強なんですよね。



A1に値を入力した後、マクロを割り当てたボタンを押すと・・・、というようにするなら、質問文に書いてあるやつで十分です。

A1に何か入力したら、自動でマクロが実行されるようにするためには、シートモジュールの Worksheet_SelectionChange イベントを利用します。

勉強をしているようなので、このキーワードで調べて何とか頑張ってください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!