Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 49
Default What's wrong with this?

LevBR = Application.WorksheetFunction.VLookup(daDate, Range("A5:A35"), 1,
False)

where LevBR is a declared variable
and daDate is a declared (as Range) variable which has been set
(with Set daDate = Worksheets("Main").Range("date"))

I get the "Unable to get the VLookup property of the WorksheetFunction
class" error





  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 371
Default What's wrong with this?

Hi Damien
Try this, I manually defined the range 'date' in "D5":
Sub testit()
Dim LevBR, dadate As Range
Set dadate = Worksheets("Main").Range("date")
On Error Resume Next
LevBR = Application.WorksheetFunction.VLookup(dadate, Range("A5:A35"),
1, False)
If Not LevBR = 0 Then
MsgBox "Date is " & dadate
Else
MsgBox "Not Found"
End If
End Sub

HTH

Geoff


"Damien McBain" wrote:

LevBR = Application.WorksheetFunction.VLookup(daDate, Range("A5:A35"), 1,
False)

where LevBR is a declared variable
and daDate is a declared (as Range) variable which has been set
(with Set daDate = Worksheets("Main").Range("date"))

I get the "Unable to get the VLookup property of the WorksheetFunction
class" error






  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,758
Default What's wrong with this?

If you drop the .worksheetfunction, you can use something like:

dim levBR as Variant 'could return an error
levbr = application.vlookup(dadate,range("a5:a35"),1,false )
if iserror(levbr) then
msgbox "not found"
else
msgbox "found"
end if

==
If you want to keep the .worksheetfunction, you have to trap that error:

dim levbr as date
on error resume next
levbr = application.vlookup(dadate,range("a5:a35"),1,false )
if err.number < 0 then
msgbox "not found"
err.clear
else
msgbox "Found"
end if
on error goto 0

==========
But if I were only looking to see if it's there, I'd use application.match()

dim levBR as Variant 'could return an error
levbr = application.match(dadate,range("a5:a35"),0)
if iserror(levbr) then
msgbox "not found"
else
msgbox "found"
end if

And sometimes VBA and dates don't play nice. Sometimes this works better:


dim levBR as Variant 'could return an error
levbr = application.match(clng(dadate),range("a5:a35"),0)
if iserror(levbr) then
msgbox "not found"
else
msgbox "found"
end if

And I'd be more specific about what worksheet to look at:

levbr = application.match(clng(dadate),worksheets("sheet1" ).range("a5:a35"),0)

=======

And one more option...

if application.countif(worksheets("sheet1").range("a5 :a35"),dadate) 0 then
'found it
else
'not found
end if







Damien McBain wrote:

LevBR = Application.WorksheetFunction.VLookup(daDate, Range("A5:A35"), 1,
False)

where LevBR is a declared variable
and daDate is a declared (as Range) variable which has been set
(with Set daDate = Worksheets("Main").Range("date"))

I get the "Unable to get the VLookup property of the WorksheetFunction
class" error


--

Dave Peterson
  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 49
Default What's wrong with this?

Thanks guys,

I had to refer to the worksheet in the vlookup like:

levbr =
application.vlookup(dadate,WORKSHEETS("SHEET1").ra nge("a5:a35"),1,false)

Nothing worked until I made that change

thanks for steering me in the right direction

Damo

"Dave Peterson" wrote in message
...
If you drop the .worksheetfunction, you can use something like:

dim levBR as Variant 'could return an error
levbr = application.vlookup(dadate,range("a5:a35"),1,false )
if iserror(levbr) then
msgbox "not found"
else
msgbox "found"
end if

==
If you want to keep the .worksheetfunction, you have to trap that error:

dim levbr as date
on error resume next
levbr = application.vlookup(dadate,range("a5:a35"),1,false )
if err.number < 0 then
msgbox "not found"
err.clear
else
msgbox "Found"
end if
on error goto 0

==========
But if I were only looking to see if it's there, I'd use
application.match()

dim levBR as Variant 'could return an error
levbr = application.match(dadate,range("a5:a35"),0)
if iserror(levbr) then
msgbox "not found"
else
msgbox "found"
end if

And sometimes VBA and dates don't play nice. Sometimes this works better:


dim levBR as Variant 'could return an error
levbr = application.match(clng(dadate),range("a5:a35"),0)
if iserror(levbr) then
msgbox "not found"
else
msgbox "found"
end if

And I'd be more specific about what worksheet to look at:

levbr =
application.match(clng(dadate),worksheets("sheet1" ).range("a5:a35"),0)

=======

And one more option...

if application.countif(worksheets("sheet1").range("a5 :a35"),dadate) 0
then
'found it
else
'not found
end if







Damien McBain wrote:

LevBR = Application.WorksheetFunction.VLookup(daDate, Range("A5:A35"), 1,
False)

where LevBR is a declared variable
and daDate is a declared (as Range) variable which has been set
(with Set daDate = Worksheets("Main").Range("date"))

I get the "Unable to get the VLookup property of the WorksheetFunction
class" error


--

Dave Peterson



  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,758
Default What's wrong with this?

I bet that application.match() would work, too--with your other changes.

Damien McBain wrote:

Thanks guys,

I had to refer to the worksheet in the vlookup like:

levbr =
application.vlookup(dadate,WORKSHEETS("SHEET1").ra nge("a5:a35"),1,false)

Nothing worked until I made that change

thanks for steering me in the right direction

Damo

"Dave Peterson" wrote in message
...
If you drop the .worksheetfunction, you can use something like:

dim levBR as Variant 'could return an error
levbr = application.vlookup(dadate,range("a5:a35"),1,false )
if iserror(levbr) then
msgbox "not found"
else
msgbox "found"
end if

==
If you want to keep the .worksheetfunction, you have to trap that error:

dim levbr as date
on error resume next
levbr = application.vlookup(dadate,range("a5:a35"),1,false )
if err.number < 0 then
msgbox "not found"
err.clear
else
msgbox "Found"
end if
on error goto 0

==========
But if I were only looking to see if it's there, I'd use
application.match()

dim levBR as Variant 'could return an error
levbr = application.match(dadate,range("a5:a35"),0)
if iserror(levbr) then
msgbox "not found"
else
msgbox "found"
end if

And sometimes VBA and dates don't play nice. Sometimes this works better:


dim levBR as Variant 'could return an error
levbr = application.match(clng(dadate),range("a5:a35"),0)
if iserror(levbr) then
msgbox "not found"
else
msgbox "found"
end if

And I'd be more specific about what worksheet to look at:

levbr =
application.match(clng(dadate),worksheets("sheet1" ).range("a5:a35"),0)

=======

And one more option...

if application.countif(worksheets("sheet1").range("a5 :a35"),dadate) 0
then
'found it
else
'not found
end if







Damien McBain wrote:

LevBR = Application.WorksheetFunction.VLookup(daDate, Range("A5:A35"), 1,
False)

where LevBR is a declared variable
and daDate is a declared (as Range) variable which has been set
(with Set daDate = Worksheets("Main").Range("date"))

I get the "Unable to get the VLookup property of the WorksheetFunction
class" error


--

Dave Peterson


--

Dave Peterson


  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 49
Default What's wrong with this?

I've copied it into my little cache of handy code for ron (ie lateron) :)

Thanks Dave,

cheers

Damo

"Dave Peterson" wrote in message
...
I bet that application.match() would work, too--with your other changes.

Damien McBain wrote:

Thanks guys,

I had to refer to the worksheet in the vlookup like:

levbr =
application.vlookup(dadate,WORKSHEETS("SHEET1").ra nge("a5:a35"),1,false)

Nothing worked until I made that change

thanks for steering me in the right direction

Damo

"Dave Peterson" wrote in message
...
If you drop the .worksheetfunction, you can use something like:

dim levBR as Variant 'could return an error
levbr = application.vlookup(dadate,range("a5:a35"),1,false )
if iserror(levbr) then
msgbox "not found"
else
msgbox "found"
end if

==
If you want to keep the .worksheetfunction, you have to trap that
error:

dim levbr as date
on error resume next
levbr = application.vlookup(dadate,range("a5:a35"),1,false )
if err.number < 0 then
msgbox "not found"
err.clear
else
msgbox "Found"
end if
on error goto 0

==========
But if I were only looking to see if it's there, I'd use
application.match()

dim levBR as Variant 'could return an error
levbr = application.match(dadate,range("a5:a35"),0)
if iserror(levbr) then
msgbox "not found"
else
msgbox "found"
end if

And sometimes VBA and dates don't play nice. Sometimes this works
better:


dim levBR as Variant 'could return an error
levbr = application.match(clng(dadate),range("a5:a35"),0)
if iserror(levbr) then
msgbox "not found"
else
msgbox "found"
end if

And I'd be more specific about what worksheet to look at:

levbr =
application.match(clng(dadate),worksheets("sheet1" ).range("a5:a35"),0)

=======

And one more option...

if application.countif(worksheets("sheet1").range("a5 :a35"),dadate) 0
then
'found it
else
'not found
end if







Damien McBain wrote:

LevBR = Application.WorksheetFunction.VLookup(daDate, Range("A5:A35"),
1,
False)

where LevBR is a declared variable
and daDate is a declared (as Range) variable which has been set
(with Set daDate = Worksheets("Main").Range("date"))

I get the "Unable to get the VLookup property of the WorksheetFunction
class" error

--

Dave Peterson


--

Dave Peterson



Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
What am I doing wrong aussiegirlone Excel Discussion (Misc queries) 15 July 18th 09 10:08 AM
What is wrong with my UDF jlclyde Excel Discussion (Misc queries) 4 October 24th 08 03:06 PM
Insert Calculated Field (wrong Qty*Price = wrong Amount) Edmund Excel Discussion (Misc queries) 8 October 4th 07 12:13 PM
Getting wrong value due to ref? jesmin Excel Discussion (Misc queries) 2 March 16th 06 02:12 AM
Am I doing something wrong here? TyeJae[_21_] Excel Programming 2 June 29th 04 12:56 AM


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

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"