アプリ版:「スタンプのみでお礼する」機能のリリースについて

Sheet1のA1の値が変わったら、その値をメッセージボックスで表示したいのですが
---------------------------------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$A$1" Then
MsgBox Range("a1").Value
End If
End Sub
---------------------------------------------------------
としたのですが
A1に値を投入しても何も起こりません。

カーソルを他のセルに充てて、
再度A1をクリックすると、
MsgBox Range("a1").Value
が表示されます。

そうではなくて、
A1に値を入れて、アクティブセルをA1じゃなくなった時(値を投入後すぐ)
マクロを実行させるにはどうすればいいでしょうか?

「Sheet1のA1の値が変わったら、その」の質問画像

A 回答 (2件)

こんばんは!



Selection Change イベントではなく
単に Change イベントでプロシージャ―を実行すれば大丈夫だと思います。

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub
If Target <> "" Then
MsgBox Target
End If
End Sub

こんな感じではどうでしょうか?

※ A1セル限定にしていますので、適宜変更してみてください。m(_ _)m
    • good
    • 0
この回答へのお礼

Changeイベントを使うのですね!
ありがとうございました。

お礼日時:2012/04/06 23:37

SelectionChangeではなくChangeを使用します。



一例です。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" And Target <> "" Then MsgBox Target
End Sub
    • good
    • 0
この回答へのお礼

Changeイベントを使うのですね!
ありがとうございました。

お礼日時:2012/04/06 23:38

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