0
我想知道是否有人能夠幫助我。跟蹤Excel工作表變更
我使用下面的代碼來跟蹤對Excel工作表的更改,當範圍B5中的任何單元格的值自動插入'A'列並將'No'字插入'AE'列時, Q2000已更改。
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中,則將日期和單詞「否」添加到這兩行的正確列(A和AE)中。
不過,不幸的是,即使用戶在這些行上沒有輸入任何其他數據,'No'值和日期也會添加到這些列之間的行,即D6-D9,而I我不確定問題出在哪裏。
我只是想知道是否有人可以看看這個,並提供一些指導我如何解決這個問題。
許多的感謝和親切的問候
嗨@Doug格蘭西,感謝您花時間回覆我的文章和解決方案。它很棒! 親切的問候 – IRHM