如果我有這段代碼,是否有一種簡單的方法可以在 VBA 中將 item1 添加到陣列的開頭,將 item2 添加到陣列的末尾?
以下代碼當前運行。
Dim nameArray as variant
Dim k as integer
Dim item1 as string
Dim item2 as string
k = 1
nameArray = Range(Cells(2, 3), Cells(5, 3)).Value
For Each i In nameArray
newcol = baseclmn k
tblComp.ListColumns.Add(newcol).Name = i
k = k 1
Next I
謝謝你的盡心幫助
uj5u.com熱心網友回復:
如果你想擴展陣列,可能是這樣的:
nameArray = Range(Cells(2, 3), Cells(5, 3)).Value
Dim newArray
ReDim newArray(1 to Ubound(nameArray, 1) 2, 1 to Ubound(nameArray, 2)) 'add two rows
newArray(1, 1) = "item1"
newArray(Ubound(newArray, 1), 1) = "item2"
Dim i As Long
For i = LBound(nameArray, 1) To Ubound(nameArray, 1)
newArray(i 1, 1) = nameArray(i, 1)
Next
解釋:
nameArray是一個二維陣列,其中第一維對應于行,第二維對應于列。請注意,此陣列是基于一個的,即第一個索引是1而不是0。
該代碼用于ReDim創建一個新陣列,其中包含
- 比多兩行
nameArray - 與 相同的列數
nameArray。
然后它添加第一個和最后一個專案:
newArray(1, 1) = "item1":1, 1對應第一行第一列。newArray(Ubound(newArray, 1), 1) = "item2":Ubound(newArray, 1)對應于最后一行,1再次對應于第一列。
最后,它使用一個回圈讀取從專案nameArray到中間newArray。
進一步有用的閱讀包括VBA 中的陣列和范圍。
uj5u.com熱心網友回復:
您可以從更大的陣列開始并替換第一個和最后一個專案。
Dim nameArray as variant
nameArray = Range(Cells(1, 3), Cells(6, 3)).Value
nameArray(LBound(nameArray), 1) = "Item1"
nameArray(UBound(nameArray), 1) = "Item2"
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/353770.html
下一篇:嘗試添加單元格時獲取
