Select targeted rows

D

danhattan

What I'd like to do is run code that searches a column for a value, and when
found, selects the row the column is in. I've set up a sort so that all rows
with the same value are grouped together, so then I'd like the code to
continue to select each row until it's reached the end of the grouped rows.

I can write the code to find the identifying value and continue to search
down the column. What I don't know how to do is to select the row, and then
extend the selection as the search continues. Any help with that would very,
very appreciated.

Thanks in advance to anyone who can help with this.

Dan
 
J

Jim Thomlinson

Here is some code. Note that it does not require the column to be sorted...

Sub SelectRows()
Dim wks As Worksheet
Dim rngFound As Range
Dim rngFoundAll As Range
Dim strFirstAddress As String
Dim rngToSearch As Range
Dim strToFind As String

strToFind = "this" 'Change This
Set wks = Sheets("Sheet1") 'Change this
Set rngToSearch = wks.Columns("A") 'Change this
Set rngFound = rngToSearch.Find(What:=strToFind, _
LookAt:=xlWhole, _
LookIn:=xlFormulas, _
MatchCase:=False)
If rngFound Is Nothing Then
MsgBox "Sorry nothing was found"
Else
Set rngFoundAll = rngFound
strFirstAddress = rngFound.Address
Do
Set rngFoundAll = Union(rngFound, rngFoundAll)
Set rngFound = rngToSearch.FindNext(rngFound)
Loop Until rngFound.Address = strFirstAddress
rngFoundAll.EntireRow.Select
End If
End Sub
 
D

danhattan

Thanks, because this is very close to what I was looking for, and would be
except for one thing. The column I want to search is using a formula to set
an indicator based on a value in a column to the left.

When I run your code and adjust the variables, I initially got the message
box saying "Sorry nothing was found". On a hunch, I converted the formulas to
values. After that, the code correctly recognized the text and selected the
rows. (I then added a final statement to delete the selected rows, which is
my ultimate goal.)

So, how do I adjust the code to correctly recognize the result of the
formulas? I can write code to convert the formulas to values, then paste the
formulas back each day, but that just seems a bit inelegant.

Any thoughts? Also, thanks much for the solution. It even managed to select
non-contiguous blocks, which is pretty cool. But I guess you knew that. :)
 
D

danhattan

Perfect. That's exactly the answer, even if it is a bit counter-intuitive. On
the surface, it seems that if one wants to search through formulas, one would
use xlFormulas.

But again, thanks for the help. This is a great answer. I'm trying to fully
automate a spreadsheet for a supervisor here who isn't comfortable with
Excel, and this will do wonders for her mornings.

Have a great Friday!
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top