Hi Marreco,
Try this (all in the source sheet)
Private Sub ButtonGone(): Dim r As Long, i As Long
If ActiveCell.Row = 1 Then Exit Sub
Do: i = i + 1: Loop Until Worksheets("Sheet1").Range("A" & i) = ""
With ActiveSheet
For r = 2 To .Range("A" & Rows.Count).End(xlUp).Row
If Rows(r).Hidden = False Then
Exit For
End If: Next r
On Error GoTo OnError
Range("A" & r).EntireRow.Cut Worksheets("Sheet1").Range("A" & i)
Range("A" & r).EntireRow.Delete Shift:=xlUp: i = i + 1
End With
OnError:
With ActiveSheet
ShowAllData
ActiveSheet.TextBox1.Value = vbNullString
End With
End Sub
Private Sub TextBox1_LostFocus()
FilterNow
ButtonGone
End Sub
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = Asc(vbCr) Then
FilterNow
ButtonGone
End If
End Sub
Private Sub FilterNow()
If Trim(TextBox1.Value) > vbNullString Then
Range("A1").CurrentRegion.AutoFilter Field:=4, Criteria1:=TextBox1.Value
ElseIf ActiveSheet.AutoFilterMode Then
Range("A1").CurrentRegion.AutoFilter
Else: Range("A1").Select
End If
End Sub
Sub TestFilter()
Range("D17").Activate
End Sub
Bookmarks