Excel VBA OnChange事件重复行

时间:2018-11-22 11:31:46

标签: excel vba excel-vba

我正在尝试创建一个事件,在该事件中我要匹配两张纸的N列中的数据,如果数据匹配,它将进行背景行填充过程。

代码如下。 使用此方法时出现错误,无法循环播放。

下面是代码。

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Set wkbDest = ThisWorkbook
Set wksDest_All = wkbDest.Worksheets("All Leads")
Set wksDest_New = wkbDest.Worksheets("New Leads")
    If Not Intersect(Target, Columns.Range("A:AS")) Is Nothing Then
        If Application.WorksheetFunction.CountA(Target) = 0 Then
             ' Not Empty
            For Each rw In Target.Row
                    If VBA.Trim(wksDest_All.Range("N" & rw).Value) = VBA.Trim(wksDest_New.Range("N" & rw).Value) Then
                    Target.Parent.Range("A" & rw.Row & ":AS" & rw.Row).Interior.ColorIndex = 15
                    Target.Parent.Range("A" & rw.Row & ":AS" & rw.Row).Borders.LineStyle = xlContinuous

                End If
            Next rw
          'Empty
            For Each rw In Target.Rows
                If VBA.Trim(wksDest_All.Range("N" & rw).Value) <> VBA.Trim(wksDest_New.Range("N" & rw).Value) Then
                    Target.Parent.Range("A" & rw.Row & ":AS" & rw.Row).Interior.ColorIndex = 0
                    Target.Parent.Range("A" & rw.Row & ":AS" & rw.Row).Borders.LineStyle = xlContinuous

                End If
            Next rw
          End If
    End If
End Sub

1 个答案:

答案 0 :(得分:0)

如果您提供有关错误本身的信息,将会很有帮助。

我认为您的错误出在代码的第八行:

For Each rw In Target.Row

应该是

For Each rw In Target.Rows