Sub Delete_False_Rows()
Dim x As Integer
Dim C As Range
'Add Formula
For Each C In Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row)
C.Offset(, 3).FormulaR1C1 = _
"=AND(LEN(RC[-2])>=2,IF(ISNUMBER(1*MID(RC[-2],2,1))=TRUE,ISNUMBER(1*MID(RC[-2],2,1)),ISNUMBER(1*MID(RC[-2],3,1))))"
Next C
'Sort Columns A-D
ActiveWorkbook.ActiveSheet.Sort.SortFields.Clear
With ActiveWorkbook.ActiveSheet.Sort
.SetRange Range("A:D")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'Delete rows
For x = Range("D1:D" & Range("D" & Rows.Count).End(xlUp).Row).Rows.Count + 1 To 1 Step -1
If Not Cells(x, 4).Value Then Cells(x, 4).EntireRow.Delete Shift:=xlUp
Next x
End Sub