我有一个功能,可以将工作表导入到全局工作表,然后遍历列和行以创建数组。
代码
Public Function importArray()
DataTable.ImportSheet "location","Lists", "Global"
rowCount = DataTable.GetSheet(dtGlobalSheet).GetRowCount -1
columnCount = DataTable.GetSheet(dtGlobalSheet).GetParameterCount
ReDim myArray(-1)
For x = 1 to columnCount Step 1
For i = 0 to rowCount Step 1
ReDim Preserve myArray(UBound(myArray) + 1)
myArray(i) = Datatable.Value(x, dtGlobalSheet)
Datatable.SetNextRow
Next
MsgBox Join(myArray, vbNewLine)
Next
End Function
因此,现在我知道可以将列放入数组中,我需要分别存储每个数组。
例如:
主数组= myArray(i)
调用importArray()获取数组
列数= 2
列名=名称,姓氏
将数组存储到名称为列名的数组变量中
使用存储的数组填充myArray()
myArray(Name(),Surname())
我要这样做的原因是因为我有一个函数,需要引用这些数组以在数组中查找值,然后执行一些逻辑。虽然我知道可以一一创建数组,但问题是我可能要使用20个数组,在这种情况下,代码会变得非常庞大。
也许有一种更好的方法可以做我想做的事情,但除此之外,在此方面的帮助将不胜感激。
答案 0 :(得分:1)
使用多维数组
'Declare a Dynamic Array
Dim arrData()
' Make it a multidimensional array
ReDim Preserve arrData(rowCount, colCount)
For Loop row
For Loop col
arrData(row, col) = ...
Next
Next
列名不能用作数组索引-这已经是字典(地图)