VBA – 从数组中选取范围(F $ 1:F $ 100)中的值

我尝试使用一系列选定单元格的值创build一个数组。

我到目前为止是如下:

ActiveSheet.Range("$F$3:$F$100").Select varGetArrayAll = Selection 

但它只创build第一个单元格F3的数组。

如果有人能帮助我,我将不胜感激。

如果您想将Range设置为一维数组,请使用Application.Transpose ,如下所示:

 varGetArrayAll = Application.Transpose(ActiveSheet.Range("$F$3:$F$100").Value) 

然而,你不应该依赖于ActiveSheet ,你应该完全限定你的Range与工作表是在,如下面的代码:

 ' replace "Sheet1" with your sheet's name varGetArrayAll = Application.Transpose(Worksheets("Sheet1").Range("$F$3:$F$100").Value) 

试试像这样:

 Public Sub TestMe() Dim vargetArrayAll As Range 'or as Variant, to look like your code. Dim counter As Long Set vargetArrayAll = Selection For counter = 1 To vargetArrayAll.Count Debug.Print vargetArrayAll(counter) Next counter End Sub 

因此,您将该值设置为一个范围,并且可以像访问数组一样访问其元素。 但是,您从1开始,而不是0