how to declare an array of user defined type in vb

2019-08-08 02:29发布

问题:

Type ABFator
    a As Single
    b As Sinlge
End Type

Dim ABFactorArr(8) As ABFactor

'Basically I want to declare an array of eight ABFactors which I can then access

I do this and the complier gives error user defined type not defined

Thanks

回答1:

Spelling mistake? Missing c?

  • You've defined the type as ABFator with no c
  • and you've put the array as ABFactor with a c

You've also mistyped Single in your Type definition

Alternatively perhaps you need to make the Type Public, in case you are defining it in one module and using it in another?

(Please copy and paste the code into your questions in future, as you've spelt ABFactor three different ways in your question!)



回答2:

Put this in the code behind of Form1 at the top of the page:

Private Type ABFactor
    a As Single
    b As Single
End Type


Private Sub Form_Load()

Dim ABFactorArr(8) As ABFactor
Dim i As Byte
For i = 0 To UBound(ABFactorArr)
    ABFactorArr(i).a = i
    ABFactorArr(i).b = i + 10
Next i
'quick test
Debug.Print ABFactorArr(6).b

End Sub