Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 7
Default Error handling error # 1004 Run-time error

hello,

I'm having difficulting with a program I'm trying to write. Basically,
I want to do a vlookup or a match in vba and if it returns an error, I
want it to highlight a cell and if not, I want it to actually do the
vlookup.

Here is the code I have:

Sub replace_values()
Dim i, j As Integer

i = 1
j = 3

If
(IsError(Application.WorksheetFunction.Match(ThisW orkbook.Worksheets(i).Range("A"
& j), Range("MeetingIDs"), 0))) Then
ThisWorkbook.Worksheets(i).Range("T" & j).Interior.ColorIndex = 4
Else: ThisWorkbook.Worksheets(i).Range("T" & j).Value =
Application.WorksheetFunction.VLookup(ThisWorkbook .Worksheets(i).Range("A"
& j), Range("StatusTable"), 2, False)
End If

End Sub

I keep getting an error (Run-time error 1004) on the first part of it:
If
(IsError(Application.WorksheetFunction.Match(ThisW orkbook.Worksheets(i).Range("A"
& j), Range("MeetingIDs"), 0)))

Does anyone have any suggestions?

Thanks,
Steve
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 35,218
Default Error handling error # 1004 Run-time error

Try dropping the .worksheetfunction from your line of code:

if iserror(application.match(thisworkbook....

Application.match() can be tested using iserror. But
application.worksheetfunction.match() needs something like:

dim res as variant
on error resume next
res = application.worksheetfunction.match(...
if err.number < 0 then
'no match
err.clear
else
'no error
msgbox res '???
end if

=========
ps. The same thing with application.vlookup(), too!


wrote:

hello,

I'm having difficulting with a program I'm trying to write. Basically,
I want to do a vlookup or a match in vba and if it returns an error, I
want it to highlight a cell and if not, I want it to actually do the
vlookup.

Here is the code I have:

Sub replace_values()
Dim i, j As Integer

i = 1
j = 3

If
(IsError(Application.WorksheetFunction.Match(ThisW orkbook.Worksheets(i).Range("A"
& j), Range("MeetingIDs"), 0))) Then
ThisWorkbook.Worksheets(i).Range("T" & j).Interior.ColorIndex = 4
Else: ThisWorkbook.Worksheets(i).Range("T" & j).Value =
Application.WorksheetFunction.VLookup(ThisWorkbook .Worksheets(i).Range("A"
& j), Range("StatusTable"), 2, False)
End If

End Sub

I keep getting an error (Run-time error 1004) on the first part of it:
If
(IsError(Application.WorksheetFunction.Match(ThisW orkbook.Worksheets(i).Range("A"
& j), Range("MeetingIDs"), 0)))

Does anyone have any suggestions?

Thanks,
Steve


--

Dave Peterson
  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 35,218
Default Error handling error # 1004 Run-time error

ps. I forgot to clean up my error handling...

dim res as variant
on error resume next
res = application.worksheetfunction.match(...
if err.number < 0 then
'no match
err.clear
else
'no error
msgbox res '???
end if
on error goto 0 '<-- added!



Dave Peterson wrote:

Try dropping the .worksheetfunction from your line of code:

if iserror(application.match(thisworkbook....

Application.match() can be tested using iserror. But
application.worksheetfunction.match() needs something like:

dim res as variant
on error resume next
res = application.worksheetfunction.match(...
if err.number < 0 then
'no match
err.clear
else
'no error
msgbox res '???
end if

=========
ps. The same thing with application.vlookup(), too!

wrote:

hello,

I'm having difficulting with a program I'm trying to write. Basically,
I want to do a vlookup or a match in vba and if it returns an error, I
want it to highlight a cell and if not, I want it to actually do the
vlookup.

Here is the code I have:

Sub replace_values()
Dim i, j As Integer

i = 1
j = 3

If
(IsError(Application.WorksheetFunction.Match(ThisW orkbook.Worksheets(i).Range("A"
& j), Range("MeetingIDs"), 0))) Then
ThisWorkbook.Worksheets(i).Range("T" & j).Interior.ColorIndex = 4
Else: ThisWorkbook.Worksheets(i).Range("T" & j).Value =
Application.WorksheetFunction.VLookup(ThisWorkbook .Worksheets(i).Range("A"
& j), Range("StatusTable"), 2, False)
End If

End Sub

I keep getting an error (Run-time error 1004) on the first part of it:
If
(IsError(Application.WorksheetFunction.Match(ThisW orkbook.Worksheets(i).Range("A"
& j), Range("MeetingIDs"), 0)))

Does anyone have any suggestions?

Thanks,
Steve


--

Dave Peterson


--

Dave Peterson
  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 7
Default Error handling error # 1004 Run-time error

On May 19, 9:25*pm, Dave Peterson wrote:
ps. *I forgot to clean up my error handling...

dim res as variant
on error resume next
res = application.worksheetfunction.match(...
if err.number < 0 then
* 'no match
* err.clear
else
* 'no error
* msgbox res '???
end if
on error goto 0 '<-- added!





Dave Peterson wrote:

Try dropping the .worksheetfunction from your line of code:


if iserror(application.match(thisworkbook....


Application.match() can be tested using iserror. *But
application.worksheetfunction.match() needs something like:


dim res as variant
on error resume next
res = application.worksheetfunction.match(...
if err.number < 0 then
* 'no match
* err.clear
else
* 'no error
* msgbox res '???
end if


=========
ps. *The same thing with application.vlookup(), too!


wrote:


hello,


I'm having difficulting with a program I'm trying to write. Basically,
I want to do a vlookup or a match in vba and if it returns an error, I
want it to highlight a cell and if not, I want it to actually do the
vlookup.


Here is the code I have:


Sub replace_values()
Dim i, j As Integer


i = 1
j = 3


If
(IsError(Application.WorksheetFunction.Match(ThisW orkbook.Worksheets(i).Ran*ge("A"
& j), Range("MeetingIDs"), 0))) Then
* * ThisWorkbook.Worksheets(i).Range("T" & j).Interior.ColorIndex = 4
* * Else: ThisWorkbook.Worksheets(i).Range("T" & j).Value =
Application.WorksheetFunction.VLookup(ThisWorkbook .Worksheets(i).Range("A"
& j), Range("StatusTable"), 2, False)
End If


End Sub


I keep getting an error (Run-time error 1004) on the first part of it:
If
(IsError(Application.WorksheetFunction.Match(ThisW orkbook.Worksheets(i).Ran*ge("A"
& j), Range("MeetingIDs"), 0)))


Does anyone have any suggestions?


Thanks,
Steve


--


Dave Peterson


--

Dave Peterson- Hide quoted text -

- Show quoted text -


Dropping the .WorksheetFunction worked! Thanks so much!
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
run time error 1004 general odbc error excel 2003 vba Mentos Excel Programming 5 January 24th 11 02:56 PM
Run Time Error 1004: Application or Object Defined Error BEEJAY Excel Programming 4 October 18th 06 04:19 PM
Run Time 1004 Error: Application or Object Difine Error BEEJAY Excel Programming 0 October 17th 06 10:45 PM
run-time error '1004': Application-defined or object-deifined error [email protected] Excel Programming 5 August 10th 05 09:39 PM
Run time error '1004': Generaol ODBC error Dwaine Horton[_3_] Excel Programming 2 April 26th 05 02:52 PM


All times are GMT +1. The time now is 06:54 AM.

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"