ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Find value, perform function, search for next value (https://www.excelbanter.com/excel-programming/402412-find-value-perform-function-search-next-value.html)

SLW612

Find value, perform function, search for next value
 
Hi, I am having trouble with writing a "find" code that will work. Here is
what I want to do:

I need to search column A for "Account Category:" and call out a macro on
that cell, then find the next instance and do the same. My worksheet is a
few thousand lines so having an automated find function will make a HUGE
difference! Part of the problem too is that the cells in question will
always begin with "Account Category:" but may differ, like one will be
"Account Category: 20512" and another might be "Account Category: 22265". I
tried recording a macro while I used the find function, but it wouldn't work
when I tried to run it.

Suggestions are greatly appreciated! Thanks in advance

Jim Thomlinson

Find value, perform function, search for next value
 
Something like this should be close...

Sub test()
Dim rngFound As Range
Dim rngToSearch As Range
Dim strFirstAddress As String

Set rngToSearch = Sheets("Sheet1").Columns("A")
Set rngFound = rngToSearch.Find(What:="Account Category:*", _
LookAt:=xlWhole, _
LookIn:=xlValues, _
MatchCase:=False)
If rngFound Is Nothing Then
MsgBox "Sorry... Not Found"
Else
strFirstAddress = rngFound.Address
Do
rngFound.Select
MsgBox rngFound.Value & " found at " & rngFound.Address
Set rngFound = rngToSearch.FindNext(rngFound)
Loop Until strFirstAddress = rngFound.Address
End If
End Sub
--
HTH...

Jim Thomlinson


"SLW612" wrote:

Hi, I am having trouble with writing a "find" code that will work. Here is
what I want to do:

I need to search column A for "Account Category:" and call out a macro on
that cell, then find the next instance and do the same. My worksheet is a
few thousand lines so having an automated find function will make a HUGE
difference! Part of the problem too is that the cells in question will
always begin with "Account Category:" but may differ, like one will be
"Account Category: 20512" and another might be "Account Category: 22265". I
tried recording a macro while I used the find function, but it wouldn't work
when I tried to run it.

Suggestions are greatly appreciated! Thanks in advance


SLW612

Find value, perform function, search for next value
 
Thanks for the quick reply, Jim ... but it's not working. I get the
"Sorry...Not Found" every time, even when I am looking right at a cell that
begins with "Account Category:". When I type "Account Category:*" into the
find dialog it has no problems finding the search term, so there must be
something I'm missing ...

Any other ideas?



"Jim Thomlinson" wrote:

Something like this should be close...

Sub test()
Dim rngFound As Range
Dim rngToSearch As Range
Dim strFirstAddress As String

Set rngToSearch = Sheets("Sheet1").Columns("A")
Set rngFound = rngToSearch.Find(What:="Account Category:*", _
LookAt:=xlWhole, _
LookIn:=xlValues, _
MatchCase:=False)
If rngFound Is Nothing Then
MsgBox "Sorry... Not Found"
Else
strFirstAddress = rngFound.Address
Do
rngFound.Select
MsgBox rngFound.Value & " found at " & rngFound.Address
Set rngFound = rngToSearch.FindNext(rngFound)
Loop Until strFirstAddress = rngFound.Address
End If
End Sub
--
HTH...

Jim Thomlinson


"SLW612" wrote:

Hi, I am having trouble with writing a "find" code that will work. Here is
what I want to do:

I need to search column A for "Account Category:" and call out a macro on
that cell, then find the next instance and do the same. My worksheet is a
few thousand lines so having an automated find function will make a HUGE
difference! Part of the problem too is that the cells in question will
always begin with "Account Category:" but may differ, like one will be
"Account Category: 20512" and another might be "Account Category: 22265". I
tried recording a macro while I used the find function, but it wouldn't work
when I tried to run it.

Suggestions are greatly appreciated! Thanks in advance


Bob Phillips

Find value, perform function, search for next value
 
Try

Set rngFound = rngToSearch.Find(What:="Account Category:*", _
LookAt:=xlPart, _
LookIn:=xlValues, _
MatchCase:=False)


--
---
HTH

Bob


(there's no email, no snail mail, but somewhere should be gmail in my addy)



"SLW612" wrote in message
...
Thanks for the quick reply, Jim ... but it's not working. I get the
"Sorry...Not Found" every time, even when I am looking right at a cell
that
begins with "Account Category:". When I type "Account Category:*" into
the
find dialog it has no problems finding the search term, so there must be
something I'm missing ...

Any other ideas?



"Jim Thomlinson" wrote:

Something like this should be close...

Sub test()
Dim rngFound As Range
Dim rngToSearch As Range
Dim strFirstAddress As String

Set rngToSearch = Sheets("Sheet1").Columns("A")
Set rngFound = rngToSearch.Find(What:="Account Category:*", _
LookAt:=xlWhole, _
LookIn:=xlValues, _
MatchCase:=False)
If rngFound Is Nothing Then
MsgBox "Sorry... Not Found"
Else
strFirstAddress = rngFound.Address
Do
rngFound.Select
MsgBox rngFound.Value & " found at " & rngFound.Address
Set rngFound = rngToSearch.FindNext(rngFound)
Loop Until strFirstAddress = rngFound.Address
End If
End Sub
--
HTH...

Jim Thomlinson


"SLW612" wrote:

Hi, I am having trouble with writing a "find" code that will work.
Here is
what I want to do:

I need to search column A for "Account Category:" and call out a macro
on
that cell, then find the next instance and do the same. My worksheet
is a
few thousand lines so having an automated find function will make a
HUGE
difference! Part of the problem too is that the cells in question will
always begin with "Account Category:" but may differ, like one will be
"Account Category: 20512" and another might be "Account Category:
22265". I
tried recording a macro while I used the find function, but it wouldn't
work
when I tried to run it.

Suggestions are greatly appreciated! Thanks in advance




JLGWhiz

Find value, perform function, search for next value
 
I tried Jim's code and it worked fine. I copied his code from the posting,
set up a test shee with Account Category: 123, 234, 345 in three different
cells of column A and it found all three. Check your spelling, and make
sure that if you did not copy Jim's code, that your typed it exactly as he
wrote it, including the asterisk in the What:= .

"SLW612" wrote:

Thanks for the quick reply, Jim ... but it's not working. I get the
"Sorry...Not Found" every time, even when I am looking right at a cell that
begins with "Account Category:". When I type "Account Category:*" into the
find dialog it has no problems finding the search term, so there must be
something I'm missing ...

Any other ideas?



"Jim Thomlinson" wrote:

Something like this should be close...

Sub test()
Dim rngFound As Range
Dim rngToSearch As Range
Dim strFirstAddress As String

Set rngToSearch = Sheets("Sheet1").Columns("A")
Set rngFound = rngToSearch.Find(What:="Account Category:*", _
LookAt:=xlWhole, _
LookIn:=xlValues, _
MatchCase:=False)
If rngFound Is Nothing Then
MsgBox "Sorry... Not Found"
Else
strFirstAddress = rngFound.Address
Do
rngFound.Select
MsgBox rngFound.Value & " found at " & rngFound.Address
Set rngFound = rngToSearch.FindNext(rngFound)
Loop Until strFirstAddress = rngFound.Address
End If
End Sub
--
HTH...

Jim Thomlinson


"SLW612" wrote:

Hi, I am having trouble with writing a "find" code that will work. Here is
what I want to do:

I need to search column A for "Account Category:" and call out a macro on
that cell, then find the next instance and do the same. My worksheet is a
few thousand lines so having an automated find function will make a HUGE
difference! Part of the problem too is that the cells in question will
always begin with "Account Category:" but may differ, like one will be
"Account Category: 20512" and another might be "Account Category: 22265". I
tried recording a macro while I used the find function, but it wouldn't work
when I tried to run it.

Suggestions are greatly appreciated! Thanks in advance


SLW612

Find value, perform function, search for next value
 
Ah, I found the problem. I should have specified that column A was merged
through to col. J - when I changed the range from "A" to "A:J" it found it
with no problems.

Thanks again!


"JLGWhiz" wrote:

I tried Jim's code and it worked fine. I copied his code from the posting,
set up a test shee with Account Category: 123, 234, 345 in three different
cells of column A and it found all three. Check your spelling, and make
sure that if you did not copy Jim's code, that your typed it exactly as he
wrote it, including the asterisk in the What:= .

"SLW612" wrote:

Thanks for the quick reply, Jim ... but it's not working. I get the
"Sorry...Not Found" every time, even when I am looking right at a cell that
begins with "Account Category:". When I type "Account Category:*" into the
find dialog it has no problems finding the search term, so there must be
something I'm missing ...

Any other ideas?



"Jim Thomlinson" wrote:

Something like this should be close...

Sub test()
Dim rngFound As Range
Dim rngToSearch As Range
Dim strFirstAddress As String

Set rngToSearch = Sheets("Sheet1").Columns("A")
Set rngFound = rngToSearch.Find(What:="Account Category:*", _
LookAt:=xlWhole, _
LookIn:=xlValues, _
MatchCase:=False)
If rngFound Is Nothing Then
MsgBox "Sorry... Not Found"
Else
strFirstAddress = rngFound.Address
Do
rngFound.Select
MsgBox rngFound.Value & " found at " & rngFound.Address
Set rngFound = rngToSearch.FindNext(rngFound)
Loop Until strFirstAddress = rngFound.Address
End If
End Sub
--
HTH...

Jim Thomlinson


"SLW612" wrote:

Hi, I am having trouble with writing a "find" code that will work. Here is
what I want to do:

I need to search column A for "Account Category:" and call out a macro on
that cell, then find the next instance and do the same. My worksheet is a
few thousand lines so having an automated find function will make a HUGE
difference! Part of the problem too is that the cells in question will
always begin with "Account Category:" but may differ, like one will be
"Account Category: 20512" and another might be "Account Category: 22265". I
tried recording a macro while I used the find function, but it wouldn't work
when I tried to run it.

Suggestions are greatly appreciated! Thanks in advance



All times are GMT +1. The time now is 05:07 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com