С такими данными, как:
Применим фильтр и хотите знать, если первый видимый ячейка в столбце А имеет то же значение, что и последней видимой ячейки в столбце А .
Этот короткий макрос перебирает диапазон, проверяет видимость и выполняет тест:
Sub Roman() Dim rng As Range, r As Range Dim v1 As Variant, v2 As Variant Dim FlipFlop As Boolean Set rng = Range("A2:A26") FlipFlop = True For Each r In rng If FlipFlop Then If r.EntireRow.Hidden = False Then v1 = r.Value FlipFlop = False End If Else If r.EntireRow.Hidden = False Then v2 = r.Value End If End If Next r If v1 = v2 Then MsgBox "they are equal" Else MsgBox "they are not equal" End If End Sub
Это не зависит от SpecialCells.