Q:

VBA Excel AutoFilter Error

I am getting following error when trying to auto filter in vba:

The object invoked has disconnected from its clients.

So what i am trying to do is auto filter, search for empty spaces and delete the rows. Can anyone please help? 
I have tried the standard solutions provided online e.g. option explicit etc but to no avail.

Data:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim lngLastRow As Long
    Dim lngLastRowD As Long

    Application.ScreenUpdating = False

    'Concatenate the Row A and B
    lngLastRow = Cells(Rows.Count, "A").End(xlUp).Row

    Worksheets(1).Range("D2:D" & lngLastRow).Value = Evaluate("=A2:A" & lngLastRow & "&""""&" & "B2:B" & lngLastRow)

    lngLastRowD = Worksheets(1).Cells(Rows.Count, "D").End(xlUp).Row

    Set ws = Worksheets(1)
    Set Rng = Worksheets(1).Range("A2:A" & lngLastRowD)

    With Rng
        .AutoFilter field:=1, Criteria1:=""
        .Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow.Delete
    End With

    ws.AutoFilterMode = False
    Application.ScreenUpdating = True

    ThisWorkbook.Sheets(1).Range("A2").Select
End Sub

A:

In the end i restored in approaching the issue from another angle:
Dim i As Integer, counter As Integer
i = 2

 For counter = 1 To lngLastRowD
If Worksheets(1).Range("A2:A" & lngLastRowD).Cells(i) = "" And Worksheets(1).Range("D2:D" & lngLastRowD).Cells(i) <> "" Then
        Worksheets(1).Range("A2:A" & lngLastRowD).Range("A" & i & ":D" & lngLastRowD).Select
        Selection.Delete
        GoTo TheEND
    Else
        i = i + 1
        Debug.Print "i is " & i
    End If

Next

