我想突出显示单元格,当有3个或更多具有相同的值时,我有下面的代码,但它不能正常工作,因为它循环两次到每个范围。有人能告诉我什么是错的吗?通过过滤范围循环excel vba
Sub HighlightCells()
Dim k As Integer, myCounter As Integer, firstRow As Integer
Dim myClientExport As Worksheet, myTemplate As Variant
Dim vRange As Range, myRange As Range
Dim myAddr As String
Set myClientExport = Excel.ActiveSheet
Set vRange = myClientExport.UsedRange.SpecialCells(xlCellTypeVisible)
firstRow = vRange.Areas(2).Rows(1).Row
myAddr = Cells(firstRow, 4).Value
myCounter = 0
For Each myRange In vRange.Rows
k = myRange.Row
If k > firstRow Then
If myAddr = Cells(k, 4).Value Then
myCounter = myCounter + 1
Else
myAddr = Cells(k, 4).Value
myCounter = 0
End If
Select Case myCounter
Case 3
For i = 0 To 2
OId = Cells(k - i, 1).Value
Next i
Cells(k, 4).Interior.ColorIndex = 27
Cells(k - 1, 4).Interior.ColorIndex = 27
Cells(k - 2, 4).Interior.ColorIndex = 27
Case Is > 3
Cells(k, 4).Interior.ColorIndex = 27
End Select
End If
Next myRange
End Sub
我想强调有3个或更多激活指令状态的所有地址。
你可能需要添加它如何您的数据(过滤,过滤的)看起来像 – user3598756
很难按照你的逻辑代码的一些例子,请加载数据的屏幕截图样本和期望的结果 –
谢谢你,我只是添加了未经过滤和过滤的可能数据样本。 – Luisxv