Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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 |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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 |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
run time error 1004 general odbc error excel 2003 vba | Excel Programming | |||
Run Time Error 1004: Application or Object Defined Error | Excel Programming | |||
Run Time 1004 Error: Application or Object Difine Error | Excel Programming | |||
run-time error '1004': Application-defined or object-deifined error | Excel Programming | |||
Run time error '1004': Generaol ODBC error | Excel Programming |