我是vba的初学者,希望用它来自动化一个过程。我有一个计算机程序,它为我提供了一个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任何帮助都是非常感谢的。谢谢!
发布于 2017-09-13 05:03:13
如果您正在处理这些列中的常量值,并且正在处理这些列中的大量单元格,则使用count函数可能会很有用:
dim x As Long
x = Worksheets(*sheet name*).Range(*column range*).Cells.SpecialCells(xlCellTypeConstants).Count传递给X的是列中非空单元格的数量。因此,如果适用,您可能希望在列范围中注意不包括任何标题。
发布于 2015-07-11 05:52:34
我相信这会让你坐到最后一排。如果你想计算所有的值,你可能需要小心(例如,前几行是空的)。
Dim lastRow As Long
lastRow = Cells(Rows.Count, "A").End(xlUp).Row发布于 2015-07-11 06:22:51
要将A列中的数据放入2d变量数组中,请使用以下命令:
Dim vA As Variant
vA = [a1:index(a:a,counta(a:a))]这假设数据中没有空单元格,并且数据从第1行开始。
https://stackoverflow.com/questions/31350818
复制相似问题