如何查找带有variables最后一行的VBA中的列的长度

我是vba的初学者,希望能够使用它来实现一个stream程的自动化。 我有一个电脑程序,为我提供了一个Excel电子表格,其中列中的数据量可以改变。 例如,我可以有一个长度为9的列:

1

3

2

4

24

23

432

55

2

或长度为5的列(注意:实际的列大小通常是数千):

1

2

3

4

8

我想编写能够抓取这个列的代码,不知道这个列会有多长。 就像是:

Dim list1 As Array 'I don't know how to find the upper bound list1 = Range("A1:A" & Upper Bound).Value 

任何帮助表示赞赏。 谢谢!

如果您在这些列中使用常量值,并且在这些列中处理的单元格数量较多,则可以使用计数函数:

 dim x As Long x = Worksheets(*sheet name*).Range(*column range*).Cells.SpecialCells(xlCellTypeConstants).Count 

x正在传递列中非空单元格的数量。 因此,如果适用,您可能希望在列范围内小心不要包含任何标题。

我相信这会让你成为最后一排。 你可能需要小心,如果你想要计算所有的值(例如,第一对夫妇行是空白的)。

 Dim lastRow As Long lastRow = Cells(Rows.Count, "A").End(xlUp).Row 

要将列A中的数据转换为二维variables数组,请使用以下命令:

 Dim vA As Variant vA = [a1:index(a:a,counta(a:a))] 

这假定数据中没有空白单元格,并且数据从第1行开始。