First off, the Dim UserResponse As Variant does nothing, so you should
remove it... it was accidentally left in when I cannibalized a previous
posting of mine to create my answer to you (that previous posting asked the
user a question and the user's answer was placed in that variable). Now, for
the code. I have the On Error statement in there because the Do..Loop is
going to be run until an error occurs (which will occur when there is no
more red text to find). Turning the screen updating off will speed up the
code an hide all the individual deletions from the user (the error trap is
used to make sure screen updating is turned back on). The FindFormat
property is used in combination with the Find function and lets it do its
searching using cell formats; so, I use it to establish the Font.Color as a
search parameter. Next comes the Do..Loop which does the actual searching.
The first argument is the text it is searching for. Since we don't care what
the characters in the cell are, we just use the asterisk wildcard which tell
it to search for any text no matter what that text is. Because we are
looking for any text, it doesn't matter if we find it in all or part of the
text, so we can ignore setting the LookAt argument (whichever it is will not
matter). Since the search is being conducted only on Column A, we really
don't care if the search is by column or by row, so we can ignore setting
the SearchOrder argument as well. And, since the searching will continue
until there is no more red text in the column, we don't care where the
search starts at, so we can ignore setting the After argument. We also do
not care what setting the LookIn or MatchCase currently has either (again,
we are looking for any text that is red). Okay now for the SearchFormat
argument... setting it to True tells the Find function to use whatever is
set in the FindFormat property as part of its search criteria. All of this
taken together means the Find function will only locate red text in Column A
and then delete the entire row (we applied the EntireRow property to the
single cell range that the Find function returns and then applied the Delete
method to that entire row).