誰かが私を助けてくれるのではないかと思います。
以下のコードを使用して Excel ワークシートへの変更を追跡し、範囲 B5:Q2000 内のセルの値が変更されたときに、日付を列 'A' に、列 'No' を列 'AE' に自動的に挿入します。
Option Explicit
Public preValue As Variant
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cell As Range, res As Variant
If Target.Cells.Count > 1 Then Exit Sub
On Error Resume Next
If Not Intersect(Target, Range("B5:Q2000")) Is Nothing Then
If Target.Value <> preValue And Target.Value <> "" Then
Application.EnableEvents = False
Range("A5:A" & Target.Row).Value = Date
Range("AE5:AE" & Target.Row).Value = "No"
Application.EnableEvents = True
Target.ClearComments
' Target.AddComment.Text Text:="Previous Value was " & preValue & Chr(10) & "Revised " & Format(Date, "dd-mm-yyyy") & Chr(10) & "By " & Environ("UserName")
Target.Interior.ColorIndex = 35
End If
End If
On Error GoTo 0
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count = 1 Then preValue = Target.Value
End Sub
残念ながら、解決方法がわからない問題に遭遇しました。
ユーザーがセル D5 と D10 にデータを挿入すると、日付と「いいえ」という単語が、これら 2 つの行の正しい列 (A と AE) に追加されます。
ただし、残念ながら、ユーザーがこれらの行に他のデータを入力していなくても、D6-D9 の間の行のこれらの列に「いいえ」の値と日付も追加されます。問題がどこにあるか。
誰かがこれを見て、これを解決する方法についてのガイダンスを提供できるかどうか疑問に思いました.
多くの感謝と親切な敬意