using search function in VBA
I think this is what you are wanting. Currently, the code will search all
the data you have in Col. A in Range("B1:B100"). You may need to tweak it to
fit your application. Let me know if I can help more. Hope this helps! If
so, let me know, click "YES" below.
Option Explicit
Sub SearchRange()
Dim lngLastRow As Long
Dim rngMyRange As Range
Dim rngFound As Range
Dim rng As Range
' find last cell with data in Col.A
lngLastRow = Cells(Rows.Count, "A").End(xlUp).Row
' range you want to find stuff in
Set rngMyRange = Range("B1:B100")
' go thru each cell in
For Each rng In Range("A1:A" & lngLastRow)
Set rngFound = rngMyRange.Find(What:=rng.Text, _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=True, _
SearchFormat:=False)
If Not rngFound Is Nothing Then
MsgBox "Found " & rng.Value & " in " & rngFound.Address
' do something if found
Else
MsgBox "Didn't find anything."
' do this if not found
End If
Next rng
End Sub
--
Cheers,
Ryan
"firsttimevba" wrote:
Hi,
I'm very new to VBA. sorry for asking dumb question. I'm trying to do the
below and it is not working.
x = 500
Do While Cells(x, 2).Value < ""
y = 100
Do While Cells(y, 5).Value < ""
if worksheetfunction.search(cells(x, 2), cells(y, 5)) 0 then
' do something
end if
y = y + 1
loop
x = x + 1
loop
Here I want to search the text string of each cell from one range into
another range. How do I do this. The above code compiles fine. But I'm
getting a runtime error on the line "if worksheetfunction.search(cells(x, 2),
cells(y, 5)) 0 then". Looks like the search function can not take variable
such as x and y.
Thanks for any help!
|