| 
    
     |  | ▼ゆう さん: >おせわになります。
 >
 >セルを更新した時、変更前のデータをコメントとして残しておきたいのですが、
 >可能でしょうか?
 >コメントの
 >Worksheet_Changeを使用したとき、変更前のデータはどう取ればよいのでしょうか?
 >
 >例えば、A1セルの内容を AAからBB、BBからCCに変更したとき(変更日も表示)
 >コメントには 『9/27 変更前 AA
 >        9/28 変更前 BB』のような感じで、
 >履歴として残しておきたいのです。
 >どなたかご教授願えないでしょうか。
 >よろしくお願いします。
 
 こんにちは
 
 こんな感じでいかがでしょうか。^d^
 
 Private Sub Worksheet_Change(ByVal Target As Excel.Range)
 Dim V0 As String
 Dim V1 As String
 Dim Cmt As Comment
 Dim Msg As String
 
 With Target
 If .Count <> 1 Then Exit Sub
 V1 = .Value
 Application.EnableEvents = False
 Application.Undo
 V0 = .Value
 .Value = V1
 Application.EnableEvents = True
 
 On Error Resume Next
 Set Cmt = .Comment
 On Error GoTo 0
 If Cmt Is Nothing Then
 Set Cmt = .AddComment
 End If
 
 Msg = Format(Date, "m/d") & " 変更前 "
 With Cmt
 If .Text = "" Then
 .Text Msg & V0
 Else
 .Text vbLf & Msg & V0, Len(.Text), False
 End If
 End With
 End With
 End Sub
 
 |  |