มันคือ Arrays หรือเปล่าครับหรือ
https://docs.microsoft.com/en-us/office/vba/language/concepts/getting-started/using-arrays
เพิ่มเติมว่า ควรจะใช้ dynamic array ที่เป็นของ User Defined Type ที่มี 2 element คือ element ของ string เพื่อเก็บชื่อที่ใช้อ้างอิง และ element ของ variant ที่เอาไว้เก็บค่า
' การกำหนด Type ให้ใส่ไว้ในส่วนของ Module Declaration
Public Type DynamicVar
Name As String
Value As Variant
End Type
' การสร้าง element เพิ่มเติมให้ dynamic array ให้ใส่ไว้ในส่วนของโค้ดที่ต้องการ
Dim DV( ) As DynamicVar
Dim N As Integer
N = Ubound(DV) + 1 ' หา element สูงสุดของ dynamic array
Redim Preserved DV(N) ' สร้าง element เพิ่มเติม
DV(N).Name = "ชื่อที่ต้องการ" ' ใส่ชื่อ
DV(N).Value = ค่าที่ต้องการ ' ใส่ค่า
ส่วนตอนค้นหา ก็ไปวนอ่านเอาว่า DV ตัวที่เท่าไหร่ (X) ที่มี .Name เท่ากับชื่อที่ต้องการ ก็จะได้ค่าจาก DV(X).Value ครับ