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..

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))
Terminate:
    Set rngFind = Nothing
End Function
lblincAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

lblincAuthor Commented:
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 ...  

90.662
82.327
75.728
69.252
48.399
36.910
30.355
17.092

Instead I keep getting this returned in VLookup..

90.000
82.000
75.000
69.000
..
..






0
Chris BottomleySoftware Quality Lead EngineerCommented:
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))

Chris
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
lblincAuthor Commented:
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..
0
lblincAuthor Commented:
Finally got it, thanks for a bit of input chris..
0
Chris BottomleySoftware Quality Lead EngineerCommented:
For the record, what was the issue ... it will help others in the future?

Chris
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Visual Basic Classic

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.