Должен сказать, что я не смог воссоздать проблему.Используя такой код:
Rows(1).Interior.Color = vbBlue
Цвет всех ячеек подряд, даже скрытых.Но, тем не менее, в вашем случае, возможно, используйте кусок кода, чтобы перебрать все ячейки в строке до последнего использованного столбца и покрасить каждый фрагмент по отдельности.Надеюсь, это решит вашу проблему:
Sub SpecialLoop()
Dim cl As Range, rng As Range
Dim rw As Long
rw = 5 'Obviously just type any row here or get the rownr. some other way
Set rng = ActiveSheet.Range(Cells(rw, 1), Cells(rw, ActiveSheet.Cells(rw, Columns.Count).End(xlToLeft).Column))
For Each cl In rng
If Intersect(cl, rng.SpecialCells(xlCellTypeVisible)) Is Nothing Then
Range(cl.Address).Interior.Color = vbBlue
Else
Range(cl.Address).Interior.Color = vbBlue
End if
Next cl
End Sub
В любом случае, я надеюсь, что вы можете исправить это сейчас :)