需要使用Array的每个循环的索引

时间:2015-02-27 14:02:55

标签: excel vba excel-vba

我有一个数组,我从excel表填充Varibles。然后我使用每个循环循环遍历此数组。 数组的分配与我希望填充的一些单元格对齐。

'arRow is a Dynamic Array, that varies in size
For each vIndex in arRow
 if vIndex = 0 then
     'do nothing
   else
    'Populate corisponding cell
     Cells(2, ???).value = vIndex
  end if
next vindex

我如何找到每个循环的索引?

2 个答案:

答案 0 :(得分:2)

你可以这两种方式。这两种方法都需要一个"计数器"因为数组没有任何类型的索引属性,你可以访问。

带一个柜台:

Dim i as Long
i = 0
For each vIndex in arRow
 i = i + 1
 if vIndex = 0 then
     'do nothing
   else
    'Populate corisponding cell
     Cells(2, i).value = vIndex
  end if
next vindex

或者在数组上使用索引循环(假设是一维数组,但如果需要可以修改为多维):

Dim i
For i = LBound(arRow) to UBound(arRow)

   ...

Next

答案 1 :(得分:0)

填写B1:B3

arRow = Array(11, 22, 33)

For vIndex = 0 To UBound(arRow)
    Cells(vIndex + 1, 2).Value = arRow(vIndex)
Next