向函数发送动态范围

时间:2015-08-01 04:00:40

标签: arrays excel vba excel-vba range

新手在这里,所以请耐心等待我。我只是没有得到一些关于正确将动态值列放入数组的东西。

以下代码行适合我:

Set RangeD = Sheets("Data").Range("D2:D15")
unique2chan = UniqueItems(RangeD, False)

RangeD是我将传递给函数的范围,称为“UniqueItems”。 “unique2chan”是UniqueItems将返回的值数组。

上面的假设是值始终从D2到D15。但是对于这些数据,范围的长度可以在每次运行时变化。 (列中的所有值都是连续的,没有空格。)

这是我的问题:如何将更改数量的值放入一个可以传递给我的函数的数组中?我添加了一个计数器,告诉我列中填充了多少行,所以如果列中有12个值(加上标题),我有一个计数器,它将读取13.如何使用该数字来定义范围我可以放入一个数组传递给我的函数的所有值(减去标题)?

感谢任何帮助。我已经尝试了一些我在网上找到的东西,但是每个人似乎都有不同的方法,而且我找不到一个适合我的方法。

1 个答案:

答案 0 :(得分:1)

您可以使用Resize():

Set RangeD = Sheets("Data").Range("D2").Resize(numRows,1)
unique2chan = UniqueItems(RangeD, False)