特定のセルに特定の値が入力されたときにマクロを自動的に実行するには?

Question 55.6 Excel VBA Borad (掲示板)より Previous Next
セル"A5"に数値"1"を入力するとマクロ"XX"を実行するように設定したいのですが、方法がわかりません。
最初、コマンドボタンにマクロ"XX"を登録しておいて実行していたのですが、ボタンをクリックしなくてもマクロを実行できる方法がないものかと・・・。
初心者なもので、専門的な用語はほとんどわかりません。どなたか優しく教えてください。お願いします。
Answer   2002.10.28 もてもて
Visual Bacic Editor(マクロの画面) を開くと、プロジェクト エクスプローラ が表示されていると思います。表示されていない場合は、ツールバーの{表示}- {プロジェクト エクスプローラ} で表示します。

その中に Sheet1、Sheet2・・・と表示されていますので、マクロを設定したいシートを選んでダブルクリックします。
そうすると左上のコンボボックスのような[オブジェクト]ボックスが {General} と表示されます。
[オブジェクト]ボックスと[プロシージャ]ボックス

それをドロップダウンで {Worksheet} に変更します。
次に、右上の[プロシージャ]ボックスが {Selection Change} となっているのを {Chenge} に変更し下記のマクロを記述します。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim MyRow As Long
Dim MyCol As Integer
    MyRow = Target.Row
    MyCol = Target.Column
    If MyRow = 5 And MyCol = 1 Then
        If Cells(5, 1) = 1 Then         'または If Target = 1 Then
            XX                          '動かしたいマクロ名
            End If
        End If
    End If
End Sub
お礼とお願い
うわあぁぁ。出来テル。ありがとうございまーーす。助かりました。
ちなみに Cells(5, 1) = 1 となっていますが、セル(A5) に参照式が入っていた場合はどうなるのでしょうか?
セル(A5) に直接 "1"を入力すると上手くいくのですが、他のセルを参照する式を入れて、結果を"1"にすると上手くいきません。 どうか教えてください。お願いします。
Answer   2002.10.28 もてもて
セルの値が再計算によって変更されたときには、Changeイベントが発生しません。代わりに Calculate イベントを使用すれば可能です。
Private Sub Worksheet_Calculate()
    If Cells(5, 1) = 1 Then
        XX                              '起動するマクロ名
    End If
End Sub

 

Excel VBA Macro