Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Dear Experts,
I am trying to use a Vlookup in a worksheet_change macro and am getting an error message when I use the range_lookup value of FALSE. Can this be used in a macro or what am I doing wrong. I need to make sure that the vlookup is an exact match. Here is the code. Thanks in advance. Neal Private Sub Worksheet_Change(ByVal target As Range) ' ' Test input into symbol cell on YF page ' Application.EnableEvents = False If target = Range("InputCell") Then 'make target match specific cell If IsError(Application.WorksheetFunction.VLookup(Rang e ("InputCell"), Worksheets("Sheet2").Range("A5:B12"), 2, False)) Then MsgBox "It is an invalid name" Range("InputCell").ClearContents Else If Not IsError(Range("companyinput")) Then Range("InputCell").Value = UCase(Range ("InputCell").Value) 'Add the other code from the Macro that moves the cell to 'the percent cell Range("percentinput").Select End If End If End If Application.EnableEvents = True End Sub |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Are there duplicate values in your table? - this will produce an error even
if there is an exact match. Cheers Nigel "Neal" wrote in message ... Dear Experts, I am trying to use a Vlookup in a worksheet_change macro and am getting an error message when I use the range_lookup value of FALSE. Can this be used in a macro or what am I doing wrong. I need to make sure that the vlookup is an exact match. Here is the code. Thanks in advance. Neal Private Sub Worksheet_Change(ByVal target As Range) ' ' Test input into symbol cell on YF page ' Application.EnableEvents = False If target = Range("InputCell") Then 'make target match specific cell If IsError(Application.WorksheetFunction.VLookup(Rang e ("InputCell"), Worksheets("Sheet2").Range("A5:B12"), 2, False)) Then MsgBox "It is an invalid name" Range("InputCell").ClearContents Else If Not IsError(Range("companyinput")) Then Range("InputCell").Value = UCase(Range ("InputCell").Value) 'Add the other code from the Macro that moves the cell to 'the percent cell Range("percentinput").Select End If End If End If Application.EnableEvents = True End Sub |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Neal,
Just use Application.Vlookuup. Also, you need to put WorksheetFunction on IsError Private Sub Worksheet_Change(ByVal target As Range) ' ' Test input into symbol cell on YF page ' Application.EnableEvents = False If target = Range("InputCell") Then 'make target match specific cell If WorksheetFunction.IsError(Application.VLookup(Rang e("InputCell"), Worksheets("Sheet2").Range("A5:B12"), 2, False)) Then MsgBox "It is an invalid name" Range("InputCell").ClearContents Else If Not WorksheetFunction.IsError(Range("companyinput")) Then Range("InputCell").Value = UCase(Range("InputCell").Value) 'Add the other code from the Macro that moves the cell to 'the percent cell Range("percentinput").Select End If End If End If Application.EnableEvents = True End Sub -- HTH Bob Phillips ... looking out across Poole Harbour to the Purbecks (remove nothere from the email address if mailing direct) "Neal" wrote in message ... Dear Experts, I am trying to use a Vlookup in a worksheet_change macro and am getting an error message when I use the range_lookup value of FALSE. Can this be used in a macro or what am I doing wrong. I need to make sure that the vlookup is an exact match. Here is the code. Thanks in advance. Neal Private Sub Worksheet_Change(ByVal target As Range) ' ' Test input into symbol cell on YF page ' Application.EnableEvents = False If target = Range("InputCell") Then 'make target match specific cell If IsError(Application.WorksheetFunction.VLookup(Rang e ("InputCell"), Worksheets("Sheet2").Range("A5:B12"), 2, False)) Then MsgBox "It is an invalid name" Range("InputCell").ClearContents Else If Not IsError(Range("companyinput")) Then Range("InputCell").Value = UCase(Range ("InputCell").Value) 'Add the other code from the Macro that moves the cell to 'the percent cell Range("percentinput").Select End If End If End If Application.EnableEvents = True End Sub |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Bob,
Thanks very much for the answer. That is exactly what I need. Neal -----Original Message----- Neal, Just use Application.Vlookuup. Also, you need to put WorksheetFunction on IsError Private Sub Worksheet_Change(ByVal target As Range) ' ' Test input into symbol cell on YF page ' Application.EnableEvents = False If target = Range("InputCell") Then 'make target match specific cell If WorksheetFunction.IsError(Application.VLookup(Rang e ("InputCell"), Worksheets("Sheet2").Range("A5:B12"), 2, False)) Then MsgBox "It is an invalid name" Range("InputCell").ClearContents Else If Not WorksheetFunction.IsError(Range ("companyinput")) Then Range("InputCell").Value = UCase(Range ("InputCell").Value) 'Add the other code from the Macro that moves the cell to 'the percent cell Range("percentinput").Select End If End If End If Application.EnableEvents = True End Sub -- HTH Bob Phillips ... looking out across Poole Harbour to the Purbecks (remove nothere from the email address if mailing direct) "Neal" wrote in message ... Dear Experts, I am trying to use a Vlookup in a worksheet_change macro and am getting an error message when I use the range_lookup value of FALSE. Can this be used in a macro or what am I doing wrong. I need to make sure that the vlookup is an exact match. Here is the code. Thanks in advance. Neal Private Sub Worksheet_Change(ByVal target As Range) ' ' Test input into symbol cell on YF page ' Application.EnableEvents = False If target = Range("InputCell") Then 'make target match specific cell If IsError(Application.WorksheetFunction.VLookup(Rang e ("InputCell"), Worksheets("Sheet2").Range("A5:B12"), 2, False)) Then MsgBox "It is an invalid name" Range("InputCell").ClearContents Else If Not IsError(Range("companyinput")) Then Range("InputCell").Value = UCase(Range ("InputCell").Value) 'Add the other code from the Macro that moves the cell to 'the percent cell Range("percentinput").Select End If End If End If Application.EnableEvents = True End Sub . |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
While the worksheetfunction object does support the iserror function used in
Excel, VBA has its own IsError Function applicable to the use of Application.Vlookup. So the worksheetfunction qualifier is not required in this case. ? iserror(cvErr(xlErrNA)) True ? worksheetFunction.IsError(cvErr(xlErrNa)) True -- Regards, Tom Ogilvy "Bob Phillips" wrote in message ... Neal, Just use Application.Vlookuup. Also, you need to put WorksheetFunction on IsError Private Sub Worksheet_Change(ByVal target As Range) ' ' Test input into symbol cell on YF page ' Application.EnableEvents = False If target = Range("InputCell") Then 'make target match specific cell If WorksheetFunction.IsError(Application.VLookup(Rang e("InputCell"), Worksheets("Sheet2").Range("A5:B12"), 2, False)) Then MsgBox "It is an invalid name" Range("InputCell").ClearContents Else If Not WorksheetFunction.IsError(Range("companyinput")) Then Range("InputCell").Value = UCase(Range("InputCell").Value) 'Add the other code from the Macro that moves the cell to 'the percent cell Range("percentinput").Select End If End If End If Application.EnableEvents = True End Sub -- HTH Bob Phillips ... looking out across Poole Harbour to the Purbecks (remove nothere from the email address if mailing direct) "Neal" wrote in message ... Dear Experts, I am trying to use a Vlookup in a worksheet_change macro and am getting an error message when I use the range_lookup value of FALSE. Can this be used in a macro or what am I doing wrong. I need to make sure that the vlookup is an exact match. Here is the code. Thanks in advance. Neal Private Sub Worksheet_Change(ByVal target As Range) ' ' Test input into symbol cell on YF page ' Application.EnableEvents = False If target = Range("InputCell") Then 'make target match specific cell If IsError(Application.WorksheetFunction.VLookup(Rang e ("InputCell"), Worksheets("Sheet2").Range("A5:B12"), 2, False)) Then MsgBox "It is an invalid name" Range("InputCell").ClearContents Else If Not IsError(Range("companyinput")) Then Range("InputCell").Value = UCase(Range ("InputCell").Value) 'Add the other code from the Macro that moves the cell to 'the percent cell Range("percentinput").Select End If End If End If Application.EnableEvents = True End Sub |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
#N/A error with VLOOKUP function | Excel Worksheet Functions | |||
VLOOKUP/IF FUNCTION ERROR WHEN PULLING FROM A LIST - Please Help | Excel Discussion (Misc queries) | |||
Vlookup Function returning #N/A error for two entries | Excel Discussion (Misc queries) | |||
Vlookup & Lookup function error | Excel Worksheet Functions | |||
Worksheet Function VB code error | Excel Programming |