ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Find (https://www.excelbanter.com/excel-programming/305680-find.html)

kaon[_25_]

Find
 
Hi all,

I got the error message : "Unable to find property of Range class" fro
Excel VBA and I have ben looking for the bug(s) a long time, so anyon
would kindly give me a hand?

Problem tackled:
1) matchRow = Worksheets("Raw Data").UsedRange.Find(What:=poNo
LookIn:=xlFormula, LookAt:=xlWhole).Row

p.s I want to search the corresponding row with the wanted number i
another sheet.

Public Sub Mark2004Po()
Dim i As Integer
Dim poNo As String
Dim matchRow As Range

For i = 2 T
Worksheets("Settings").UsedRange.Columns(1).Rows.C ount
poNo = Worksheets("Settings").Cells(i, 1).Value
If Not IsEmpty(poNo) Then
Do
matchRow = Worksheets("Ra
Data").UsedRange.Find(What:=poNo, LookIn:=xlFormula
LookAt:=xlWhole).Row
If Not (matchRow Is Nothing) Then
matchRow.Interior.ColorIndex = 2
End If
Loop Until matchRow Is Nothing
End If
Next i
End Sub

Thanks in advance

--
Message posted from http://www.ExcelForum.com


Vasant Nanavati

Find
 
Perhaps because you are declaring the variable matchRow as a Range object
rather than an Integer or a Long, and then assigining a row number to it.

If you want it to be a range, try replacing .Row with .EntireRow in your
assignment statement. You will also need to use the Set keyword to assign a
range object to the variable:

Set matchRow = Worksheets("Raw Data").UsedRange _
..Find(What:=poNo, LookIn:=xlFormula, _
LookAt:=xlWhole).EntireRow

--

Vasant

"kaon " wrote in message
...
Hi all,

I got the error message : "Unable to find property of Range class" from
Excel VBA and I have ben looking for the bug(s) a long time, so anyone
would kindly give me a hand?

Problem tackled:
1) matchRow = Worksheets("Raw Data").UsedRange.Find(What:=poNo,
LookIn:=xlFormula, LookAt:=xlWhole).Row

p.s I want to search the corresponding row with the wanted number in
another sheet.

Public Sub Mark2004Po()
Dim i As Integer
Dim poNo As String
Dim matchRow As Range

For i = 2 To
Worksheets("Settings").UsedRange.Columns(1).Rows.C ount
poNo = Worksheets("Settings").Cells(i, 1).Value
If Not IsEmpty(poNo) Then
Do
matchRow = Worksheets("Raw
Data").UsedRange.Find(What:=poNo, LookIn:=xlFormula,
LookAt:=xlWhole).Row
If Not (matchRow Is Nothing) Then
matchRow.Interior.ColorIndex = 2
End If
Loop Until matchRow Is Nothing
End If
Next i
End Sub

Thanks in advance.


---
Message posted from http://www.ExcelForum.com/




Tom Ogilvy

Find
 
Public Sub Mark2004Po()
Dim i As Integer
Dim poNo As String
Dim matchRow As Range
Dim fAddr As String

For i = 2 To _
Worksheets("Settings").UsedRange _
.Columns(1).Rows.Count
poNo = Worksheets("Settings").Cells(i, 1).Value
If Not IsEmpty(poNo) Then
With Worksheets("Raw Data"). _
UsedRange
Set rng = .Find(What:=poNo, _
LookIn:=xlFormula, _
LookAt:=xlWhole)
If Not rng Is Nothing Then
fAddr = rng.Address
Do
rngEntireRow.Interior.ColorIndex = 2
Set rng = .FindNext(rng)
Loop While rng.Address < fAddr
End If
End With
End If
Next i
End Sub

--
Regards,
Tom Ogilvy


"kaon " wrote in message
...
Hi all,

I got the error message : "Unable to find property of Range class" from
Excel VBA and I have ben looking for the bug(s) a long time, so anyone
would kindly give me a hand?

Problem tackled:
1) matchRow = Worksheets("Raw Data").UsedRange.Find(What:=poNo,
LookIn:=xlFormula, LookAt:=xlWhole).Row

p.s I want to search the corresponding row with the wanted number in
another sheet.

Public Sub Mark2004Po()
Dim i As Integer
Dim poNo As String
Dim matchRow As Range

For i = 2 To
Worksheets("Settings").UsedRange.Columns(1).Rows.C ount
poNo = Worksheets("Settings").Cells(i, 1).Value
If Not IsEmpty(poNo) Then
Do
matchRow = Worksheets("Raw
Data").UsedRange.Find(What:=poNo, LookIn:=xlFormula,
LookAt:=xlWhole).Row
If Not (matchRow Is Nothing) Then
matchRow.Interior.ColorIndex = 2
End If
Loop Until matchRow Is Nothing
End If
Next i
End Sub

Thanks in advance.


---
Message posted from http://www.ExcelForum.com/




kaon[_27_]

Find
 
Public Sub Mark2004Po_2()
Dim i As Integer
Dim poNo As String
Dim fAddr As String
Dim rng As Range

For i = 2 T
Worksheets("Settings").UsedRange.Columns(1).Rows.C ount
poNo = Worksheets("Settings").Cells(i, 1).Value
If Not IsEmpty(poNo) Then
With Worksheets("Raw Data").UsedRange
***Set rng = .Find(What:=poNo, LookIn:=xlFormula
LookAt:=xlWhole) ***
If Not rng Is Nothing Then
fAddr = rng.Address
Do
rng.EntireRow.Interior.ColorIndex = 2
Set rng = .FindNext(rng)
Loop While rng.Address < fAddr
End If
End With
End If
Next i
End Sub


Thanks both of you but I have tackled another problem on the lin
marked with *** and message shows on the screen: "Unable to get th
Find property of the Range Class.

--
Message posted from http://www.ExcelForum.com


Tom Ogilvy

Find
 
change

Lookin:=xlFormula

to

Lookin:=xlFormulas

After that, it
worked fine for me.

--
Regards,
Tom Ogilvy

"kaon " wrote in message
...
Public Sub Mark2004Po_2()
Dim i As Integer
Dim poNo As String
Dim fAddr As String
Dim rng As Range

For i = 2 To
Worksheets("Settings").UsedRange.Columns(1).Rows.C ount
poNo = Worksheets("Settings").Cells(i, 1).Value
If Not IsEmpty(poNo) Then
With Worksheets("Raw Data").UsedRange
***Set rng = .Find(What:=poNo, LookIn:=xlFormula,
LookAt:=xlWhole) ***
If Not rng Is Nothing Then
fAddr = rng.Address
Do
rng.EntireRow.Interior.ColorIndex = 2
Set rng = .FindNext(rng)
Loop While rng.Address < fAddr
End If
End With
End If
Next i
End Sub


Thanks both of you but I have tackled another problem on the line
marked with *** and message shows on the screen: "Unable to get the
Find property of the Range Class."


---
Message posted from http://www.ExcelForum.com/





All times are GMT +1. The time now is 03:33 PM.

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