发送一个dynamic范围到一个函数

新手在这里,所以请忍受我。 我只是没有正确地把一个dynamic的值的列到数组中。

以下代码行适合我:

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

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

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

这里是我的问题:我如何将一个不断变化的数值放入一个数组中,我可以传递给我的函数? 我添加了一个计数器,告诉我在列中填充了多less行,所以如果列中有12个值(加上标题),我有一个计数器,它将读取13.我怎样才能使用这个数字来定义一个范围所有的值(减头),我可以把数组传递给我的function?

任何帮助表示赞赏。 我已经尝试了很多我在网上find的东西,但是每个人似乎都有不同的方法,而且我还没有find一个能为我工作的东西。

你可以使用Resize():

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