【问题标题】:For Each through single rank of multidimensional arrayFor Each 多维数组的单秩
【发布时间】:2015-05-22 10:57:03
【问题描述】:

我有一个二维数组 - aArray(1,variable) 并想知道如何For Each 通过数组的第一排,即只读取 aArray(0 , variable)

这更多是出于自我教育的目的,如果可能的话,如何做到这一点。我可以用 for 循环来做到这一点:

Dim a As Integer: For a = 0 to ?
  Range("A1").Value = aArray(0,a)
Next a

但对使用 For Each 循环很感兴趣。到目前为止,我已经得到了

Dim a As Variant: For Each S In aArray
  Range("A1").Value = S
Next a

但它会遍历所有数组 (0,0) (1,0) (0,1) (1,1) 等...

【问题讨论】:

  • 你不能。您必须将第一个排名输出到一个新数组中。为什么还要使用For Each
  • 除了了解它是否可能之外,没有真正的理由。在 excel 中使用大范围时,已经习惯使用 For Each 而不是循环,因为它更快。为答案喝彩。
  • For Each 使用集合更快,但使用数组则不然。
  • This 这支持@Rory 提到的内容。罗里,您可能想添加它作为答案?

标签: arrays excel multidimensional-array foreach vba


【解决方案1】:

你不能那样做。您必须将第一个排名输出到一个新数组中,然后对其进行迭代。

无论如何都没有充分的理由使用For Each,因为它更慢 - 请参阅:https://support.microsoft.com/en-us/kb/129931

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-21
    • 1970-01-01
    • 2012-01-07
    • 1970-01-01
    • 2021-05-09
    • 1970-01-01
    相关资源
    最近更新 更多