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

EXCELのシートが変更されたらWの列に更新Timeスタンプをセットします。
Worksheet_Changeイベントに以下のように配置して動作させています。
Private Sub Worksheet_Change(ByVal Target As Range)
Cells(Target.Row, "W") = Now
End Sub
この場合、行の挿入、削除の場合、挿入前、削除後の行が更新されてしまいます。
行の挿入、削除の場合に上記コードを実行させないようにするにはどうすればよいでしょうか?
よろしくお願いします。

A 回答 (2件)

こんにちは!



セル変化が1セルの場合に実行したいのであれば

Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Count = 1 Then
Cells(.Row, "W") = Now()
End If
End With
End Sub

といった感じではどうでしょうか?

※ セル変化が複数セルに渡って消去・コピー&ペースト等ある場合
極端に多くのセルではないと思いますので、
上記コードの
>If .Count = 1 Then
の部分を
>If .Count < 100 Then
のように調整してみてください。m(_ _)m
    • good
    • 1
この回答へのお礼

回答ありがとうございます。
回答内容で思い通りに出来ました。
助かりました。
また、何かありましたらお願いします。

お礼日時:2014/12/31 19:07

Wの列に更新Timeスタンプが上書き更新でないのでしたら



IF Cells(Target.Row, "W") = "" Then
Cells(Target.Row, "W") = Now
End if

にするとか
    • good
    • 0
この回答へのお礼

回答、ありがとうございます。
上書き更新も有りなのです。
別の方の回答でうまく行きました。
また、お願いします。

お礼日時:2014/12/31 19:04

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