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

 下記のコードで1つのセル(A1)が変更されたら入力前の元データを別シート(A1)に保存できるようにしたのですが、指定範囲(I10:CW42,2行3列を一升)のセルが変更されたら別シートの指定範囲(I10:CW42)に保存できるようにしたいのですが方法がありましたらお教え下さい。お願いします。

Windows7・SP1 Office2010

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address <> "$A$1" Then Exit Sub
Application.EnableEvents = False
Application.Undo
Sheets("Sheet2").Range("A1").Value = Range("A1").Value
Application.Undo
Application.EnableEvents = True

End Sub

A 回答 (1件)

下記でいかがでしょうか。


但し、対象範囲内から対象範囲内に単独または複数セルを、コピーとか移動した場合にキチンと動作するかどうかは未検証です。

Private Sub Worksheet_Change(ByVal Target As Range)

If Intersect(Target, Range("I10:CW42")) Is Nothing Then Exit Sub
Application.EnableEvents = False
Application.Undo
Sheets("Sheet2").Range(Target.Address).Value = Target.Value
Application.Undo
Application.EnableEvents = True

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

 ありがございます。お陰様できちんと動作しました。 御丁寧にコード文まで書いて頂き有難うございます。

お礼日時:2013/07/21 07:33

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