Excel 比较列,如果不匹配,则给单元格上色
我有两个专栏,我正在与另外两个专栏进行比较。第一列“B”正在检查列“XFD”,如果值不匹配,单元格底色将更改为红色。同时,我检查列“C”是否与列“XFC”匹配 如果值不匹配,我想给列“C”上色,但如果值匹配,我的编码会改变颜色。请告知编码Excel 比较列,如果不匹配,则给单元格上色,excel,vba,Excel,Vba,我有两个专栏,我正在与另外两个专栏进行比较。第一列“B”正在检查列“XFD”,如果值不匹配,单元格底色将更改为红色。同时,我检查列“C”是否与列“XFC”匹配 如果值不匹配,我想给列“C”上色,但如果值匹配,我的编码会改变颜色。请告知编码 Column B Column C Column 'XFC Column 'XFD' Q1 Jan-15 Jan-15 Q1 Q2 Oct-15 Feb-15
Column B Column C Column 'XFC Column 'XFD'
Q1 Jan-15 Jan-15 Q1
Q2 Oct-15 Feb-15 Q1
Q3 Jul-15 Mar-15 Q1
Q4 Dec-15 Apr-15 Q2
May-15 Q2
Jun-15 Q2
Jul-15 Q3
Aug-15 Q3
Sep-15 Q3
Oct-15 Q4
Nov-15 Q4
Dec-15 Q4
编码
Application.ScreenUpdating = False
Dim stNow As Date
Dim lastA As Long
lastA = Range("B" & Rows.Count).End(xlUp).Row
Dim lastB As Long
lastB = Range("XFD" & Rows.Count).End(xlUp).Row
Dim match As Boolean
Dim i As Long, j As Long
Dim r1 As Range, r2 As Range
For i = 2 To lastA
Set r1 = Range("B" & i)
match = False
For j = 2 To lastB
Set r2 = Range("XFD" & j)
If r1 = r2 Then
match = True
If Range("B" & i).Offset(0, 1) = Range("XFD" & j).Offset(0, -1) Then
Range("B" & i).Offset(0, 1).Interior.Color = RGB(255, 0, 0)
End If
End If
Next j
Next i
Application.ScreenUpdating = True
试试这个
Application.ScreenUpdating = False
Dim stNow As Date
Dim lastA As Long
Dim lastB As Long
Dim i As Long
Dim j As Long
Dim r1 As Range
Dim r2 As Range
Dim i_store As Integer
lastA = Range("B" & Rows.Count).End(xlUp).Row
lastB = Range("XFD" & Rows.Count).End(xlUp).Row
For i = 2 To lastA
Set r1 = Range("B" & i)
i_store = 0
For j = 2 To lastB
Set r2 = Range("XFD" & j)
If r1.Value = r2.Value Then
If Range("B" & i).Offset(0, 1) = Range("XFD" & j).Offset(0, -1) Then
i_store = 0
Exit For
Else
If i_store = 0 Then
i_store = i
End If
End If
End If
Next j
If i_store > 0 Then
Range("B" & i_store).Offset(0, 1).Interior.Color = RGB(255, 0, 0)
End If
Next i
Application.ScreenUpdating = True
你的代码有问题吗?您是否有一个错误弹出,或者代码只是没有做您期望它做的事情?如果是这样,它在做什么,而不是你想要它做什么?同时,我想指出,您应该更明确地编写代码:告诉VBA要比较什么,不要让VBA假设您要比较什么。因此,如果r1=r2,我会将
更改为如果r1.Value2=r2.Value2,我会将更改为如果r1.Value2=r2.Value2,我会将更改为(与行相同,如果范围为(“B”&I”)。只需再帮一个忙。我是否可以将列“B”与列“XDF”进行比较,并用红色突出显示不匹配的单元格