View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.programming
Dave Peterson Dave Peterson is offline
external usenet poster
 
Posts: 35,218
Default vlookup with iserror

Try changing this:
Amt = WorksheetFunction.VLookup(AccStr, Table, 2, False)
to
Amt = application.VLookup(AccStr, Table, 2, False)

worksheetfunction.vlookup() causes a run time error that you have to program
around.

application.vlookup() returns an error that you can check.

If you really wanted to use worksheetfunction.vlookup(), you could use something
like:

On Error Resume Next
Amt = WorksheetFunction.VLookup(AccStr, Table, 2, False)
If Err.Number < 0 Then
amt = 0
err.clear
end if

ReplaceValue = Amt





wrote:

Hi, all.

I have the following code which will take a string and search for it in
another worksheet.

once found, it will retrieve the next columns numeric figure.

Function ReplaceValue(ByVal AccStr As String) As Double

'This function will replace the column with the amount found in the
another excel worksheetdata

Dim Amt As Variant

ReplaceValue = 0

Dim Table As Range
Set Table = ThisWorkbook.Worksheets("Sheet").Range("A1:B15000" )

Amt = WorksheetFunction.VLookup(AccStr, Table, 2, False)

If IsError(Amt) Then
ReplaceValue = 0
Else
ReplaceValue = Amt
End If

End Function

If found, it will retrieve the figure. Not found, the code is suppose
to returns 0. but the cell is showing '#VALUE!'. Anyone have any
advise?

Thanks.


--

Dave Peterson