我正试图循环一个二维数组.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
Run Code Online (Sandbox Code Playgroud)
这是一个截图

看看你的对象浏览器.您需要将其称为Sent(i)1d数组.所以你有一个1d数组,其中每个元素是另一个1d数组.
而不是sent(i, j)这样做sent(i)(j)并启动循环:
for j = 1 To ubound(sent(i))
Run Code Online (Sandbox Code Playgroud)
从技术上讲,你应该这样做,以防你得到基数不是1的数组(基数0是常见的,默认情况下除非它是一个范围数组).
For j = lbound(sent (i)) to ubound(sent(i))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8905 次 |
| 最近记录: |