首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在VBA中使用可变的最后一行查找列的长度

如何在VBA中使用可变的最后一行查找列的长度
EN

Stack Overflow用户
提问于 2015-07-11 05:48:29
回答 3查看 10.8K关注 0票数 1

我是vba的初学者,希望用它来自动化一个过程。我有一个计算机程序,它为我提供了一个excel电子表格,其中列中的数据量可以改变。例如,我可以有一次长度为9的列:

1

3.

2

4.

24

23

432

55

2

或者长度为5的列(注意:实际的列大小通常以千为单位):

1

2

3.

4.

8

我想写代码来获取这个列,而不知道这个列有多长。类似于:

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

任何帮助都是非常感谢的。谢谢!

EN

回答 3

Stack Overflow用户

发布于 2017-09-13 05:03:13

如果您正在处理这些列中的常量值,并且正在处理这些列中的大量单元格,则使用count函数可能会很有用:

代码语言:javascript
复制
dim x As Long
x = Worksheets(*sheet name*).Range(*column range*).Cells.SpecialCells(xlCellTypeConstants).Count

传递给X的是列中非空单元格的数量。因此,如果适用,您可能希望在列范围中注意不包括任何标题。

票数 2
EN

Stack Overflow用户

发布于 2015-07-11 05:52:34

我相信这会让你坐到最后一排。如果你想计算所有的值,你可能需要小心(例如,前几行是空的)。

代码语言:javascript
复制
Dim lastRow As Long

lastRow = Cells(Rows.Count, "A").End(xlUp).Row
票数 0
EN

Stack Overflow用户

发布于 2015-07-11 06:22:51

要将A列中的数据放入2d变量数组中,请使用以下命令:

代码语言:javascript
复制
Dim vA As Variant

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31350818

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档