我想在 VBA 中創建一個記錄陣列,例如這樣:
Index Name Age
0 Anton 40
1 Bert 35
... ... ...
9 Julia 20
我使用兩個陣列做了一個快速而骯臟的實作:
Dim arrName(0 to 9) as String
Dim arrAge(0 to 9) as Integer
arrName(0) = "Anton"
arrName(1) = "Bert"
arrAge(0) = 40
arrAge(1) = 35
我也可以將它作為一個二維陣列來做,但我試圖避免使用資料型別變體。(“出于原因”,如果我詳細解釋它們對問題沒有好處)。
我認為 VBA 會實作某種記錄資料型別,但會搜索資料記錄、資料收集等,但大多數結果將我指向使用物件的實作,例如 this,這很好,但我想將代碼保持為“簡單盡可能”而不引入資料存盤物件(是的,我知道作業表也是物件,我仍在努力避免它)。
沒有記錄作為 VBA 中實作的資料型別,或者我只是在搜索中使用了錯誤的關鍵字?一個小指標將不勝感激。
uj5u.com熱心網友回復:
嘗試Type:
Type rec
Index As Long
Name As String
Age As Byte
End Type
Sub test1()
Dim arr(0 To 9) As rec
With arr(0)
.Index = 0
.Name = "Anton"
.Age = 40
End With
With arr(1)
.Index = 1
.Name = "Bert"
.Age = 35
End With
Debug.Print "Index", "Name", "Age"
For i = LBound(arr) To UBound(arr)
Debug.Print arr(i).Index, arr(i).Name, arr(i).Age
Next
End Sub
Index Name Age
0 Anton 40
1 Bert 35
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/380751.html
