こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

IF文の作り方

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

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

投稿日時 - 2009-05-23 00:13:08

QNo.4982122

すぐに回答ほしいです

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

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

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

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

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

投稿日時 - 2009-05-23 00:31:38

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.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

投稿日時 - 2009-05-23 00:35:04

お礼

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

投稿日時 - 2009-06-22 12:39:44

あなたにオススメの質問