With Union(Found.Offset(0, -1), Found.Offset(0, 1).Resize(, 2))
.Copy Destination:=Range("C" & Rows.Count).End(xlUp).Offset(1)
.ClearContents
End With
Dim Found As Range
Const SrchCol As String = "H"
Const SrchTxt As String = "GND"
With Columns(SrchCol)
Set Found = .Find(What:=SrchTxt, After:=.Cells(1, 1), _
LookIn:=xlValues, LookAt:=xlWhole, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
If Not Found Is Nothing Then
Do
With Union(Found.Offset(0, -1), Found.Offset(0, 1).Resize(, 2))
.Copy Destination:=Range("C" & Rows.Count).End(xlUp).Offset(1)
.ClearContents
End With
Set Found = .FindNext
Loop Until Found Is Nothing
End If
End With
Dim Found As Range
Const SrchCol As String = "H"
Const SrchTxt As String = "GND"
With Columns(SrchCol)
Set Found = .Find(What:=SrchTxt, After:=.Cells(1, 1), _
LookIn:=xlValues, LookAt:=xlWhole, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
If Not Found Is Nothing Then
Do
With Union(Found.Offset(0, -1), Found.Offset(0, 1).Resize(, 2))
.Copy Destination:=Range("C" & Rows.Count).End(xlUp).Offset(1)
Found.Offset(0, -1).Resize(, 4).ClearContents
End With
Set Found = .FindNext
Loop Until Found Is Nothing
End If
End With