VBA阵列和变体

音色

VBA数组和变量数组使我感到困惑!

如果我有一个二维数组,该数组本质上是电子表格上的一个范围,是否可以设置一个等于二维数组中那些列之一的一维新数组?

那有意义吗?

编辑:

我有一个电子表格,它是报价模板。我要引用的其中一些产品是我们不希望引用的产品,因为它们不符合我们的准则。

我想浏览一下产品的这些行,并通过检查产品是否有一个标明“踢”的字段来确定哪些是不好的。如果是这样,那么我也将使该行(产品)的其他字段起作用。简单的宏。问题是我来自Python和C,并且我倾向于将这些电子表格视为一堆1维数组,而且我通常会编写循环遍历它们。

我过去所做的就是采用该范围,我只是创建了一堆一维数组,然后使用“ for循环”或“ for each循环”进行遍历。这种方法行之有效,但是分配所有一维数组是很痛苦的。今天我想,也许可以用二维数组来做同样的事情,因为将整个范围快速分配为二维数组很容易。

无论如何,我遇到的问题是我不知道如何仅引用二维数组的一个维度。

我可以为2D数组的一列上的每个循环执行a吗?

马斯卡罗先生

范围对象在Excel中非常灵活。您可以通过多种方式完成自己想做的事情。我将举两个例子:

For i = 1 to 10
     b = Range("yourRange").Cells(i, yourColumn) + 1
 Next i

如果为该列分配一个常量值,则可以轻松地遍历各行,如图所示。或者,如果您更喜欢For Each循环:

For each c in Range("yourRange").Columns(1)
     b = c + 1
Next

在任何情况下,VBA都会将每个Excel范围都视为二维数组。您甚至可以使用普通的数组语法,例如:Range("yourRange")(row, col)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章