vb 6.0  -->  In vb code, VLookup using Application.WorksheetFunction.VLookup() returning 82.00 instead of 82.327, 75.00 instead of 75.728 ..  etc..

Posted on 2008-10-26
Last Modified: 2011-10-03
In vb 6, I'm doing a VLookup which references an excel range...    using Application.WorksheetFunction.VLookup(parmInvestName, rngFind, 1, False)  , but it keeps returning the whole # without the decimal..    but i need the decimal.

This is urgent question as I'm not very familiar with vb syntax..   i've tried changing from Double to Long and everything else, but it still doesn't return the decimal places for a double type..  here is example of one of my attempts  :  

Public Function FindPutDeltaRefSecond(parmInvestName As String) As Long
    Dim rngFind As Range
    Set rngFind = RefData.Option.TablePutData
    On Error GoTo Terminate
    FindPutDeltaRefSecond = CLng(Application.WorksheetFunction.VLookup(parmInvestName, rngFind, 3, False))
    Set rngFind = Nothing
End Function
Question by:lblinc
  • 3
  • 2

Author Comment

ID: 22808862
I tried using different combinations using   CDbl, CLng, and then trying to Format(x, "#00.00") the Double as a string..  still nothing but zeroes to the right of decimal is returned.    In the spreadsheet, the numbers I'm doing the VLookup to retrieve look like this ...  


Instead I keep getting this returned in VLookup..


LVL 59

Accepted Solution

Chris Bottomley earned 500 total points
ID: 22808883
To confirm and no offence meant ...

When producing as a double you set both the return type and the conversion to double?

Public Function FindPutDeltaRefSecond(parmInvestName As String) As Double
    FindPutDeltaRefSecond = CDbl(Application.WorksheetFunction.VLookup(parmInvestName, rngFind, 3, False))


Author Comment

ID: 22808926
Yean I know what you're saying, i've tried everything..     i thought maybe for some reason the input retrieved from spreadsheet possibly was read in as a string..    I've tried multiple combinations to try to get the correct data when debugging..

Author Comment

ID: 22808956
Finally got it, thanks for a bit of input chris..
LVL 59

Expert Comment

by:Chris Bottomley
ID: 22810419
For the record, what was the issue ... it will help others in the future?


Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Added a column screws up code 5 63
Child Form in front 4 49
Export Data to Different .csv Files 26 115
Error with a code discussed on this page 5 33
When trying to find the cause of a problem in VBA or VB6 it's often valuable to know what procedures were executed prior to the error. You can use the Call Stack for that but it is often inadequate because it may show procedures you aren't intereste…
Article by: Martin
Here are a few simple, working, games that you can use as-is or as the basis for your own games. Tic-Tac-Toe This is one of the simplest of all games.   The game allows for a choice of who goes first and keeps track of the number of wins for…
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…

828 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question