通过vba excel中的multidimensional array循环

我试图通过2d数组循环。 1d将永远是25,2d将有不同的数额。 通常第一维的成员将是空的,这是isarray(已发送)代码的要点。 在j = 1到ubound(发送2)的部分,我得到一个下标超出范围。

For i = 1 To 25 If IsArray(sent(i)) Then For j = 1 To UBound(sent, 2) If concat_multi = "" Then concat_multi = sent(i, j) Else concat_multi = concat_multi & " & " & sent(i, j) End If Next ActiveCell.Offset(1) = concat_multi concat_multi = "" End If Next 

这是一个截图

在这里输入图像说明

看看你的对象浏览器。 你需要把它称为Sent(i)是一个1d数组。 所以你有一个1D数组,其中每个元素是另一个1D数组。

sent(i, j) sent(i)(j)然后发起循环:

 for j = 1 To ubound(sent(i)) 

从技术上讲,你可能应该这样做,如果你得到的基数不是1(基数0是普通的,默认情况下,除非它是一个范围数组)。

 For j = lbound(sent (i)) to ubound(sent(i))