A relatively simple method to do the task for you would be to use a helper column to extract the string "ABC" from the entire string in any cell in Column D then filter the helper column for the extracted string "ABC" and then delete the relevant rows.
Following is the code that should do the task:-
Dim lr As Long
Application.ScreenUpdating = False
lr = Sheet1.Range("A" & Rows.Count).End(xlUp).Row
Sheet1.Range("I2:I" & lr) = "=IF(D2="""","""",IF(ISNUMBER(SEARCH(""ABC"",D2,1)),""ABC""))"
.AutoFilter 9, "ABC"
Application.ScreenUpdating = True
The code firstly inserts a formula (line 8 in the code above) in Column I (the helper column in this case) which extracts "ABC" from the string in Column D.
The code then filters for "ABC" in Column I and deletes the relevant rows of data. The helper column is then cleared.
As I don't know the set out of your worksheet, following is the link to a sample that I have prepared for you so you can see how it works.
The sample has a few rows of data with only three that don't contain "ABC" in Column D so only three rows of data should be left once filtering/deleting is completed. Click on the "RUN" button to see it work.
I hope that this helps.