Home » excel » Excel VBA – Getting values from dynamic array – does not show real number

Excel VBA – Getting values from dynamic array – does not show real number

Posted by: admin April 23, 2020 Leave a comment

Questions:

Here is some code which shows the problem I am having:

Sub main()
    Dim V() As Long, x As Integer, temp As Long

    x = 5

    ReDim V(1 To x)

    V(4) = 0.65
    temp = V(4)

    MsgBox (temp) ' Returns value of 1
End Sub

I would like the variable temp to take in value: 0.65, but it always shows a value of 1. I am not sure what I am missing. Any help is greatly appreciated.

How to&Answers:

You have declared Dim V() As Long. This means it takes in only integers. Change it to Double.

Answer:

temp & V are Long integers so cannot represent floating point numbers like 0.65, simply change their type to Double which can.