Option Explicit
Dim flag As Boolean
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rng As Range
If flag = True Then Exit Sub
flag = True
Set rng = Intersect(Target, Cells.SpecialCells(xlCellTypeVisible))
If Not rng Is Nothing Then rng.Select
flag = False
End Sub