获取列中填充单元格的数量(VBA)

时间:2010-07-14 09:27:48

标签: vba excel-vba excel

我的第一列是一个索引,数字单调递增,结束于不可预测的点。 现在我想知道这个专栏有多少条目。有没有比通过迭代更好的方式并注意空单元格呢?

5 个答案:

答案 0 :(得分:17)

如果要查找特定列中最后一个填充的单元格,最好的方法是:

Range("A" & Rows.Count).End(xlUp).Row

此代码使用整个列中的最后一个单元格(Excel 2003为65536,后续版本为1048576),然后查找其上方的第一个填充单元格。这样就可以忽略数据中的“中断”并找到真正的最后一行。

答案 1 :(得分:15)

一种方法是:(假设索引列从A1开始)

MsgBox Range("A1").End(xlDown).Row

正在从A1向下寻找第一个未占用的单元格,并向您显示其序数行号。

您可以选择下一个空单元格:

Range("A1").End(xlDown).Offset(1, 0).Select

如果您需要数据集的结尾(包括空格),请尝试:Range(“A:A”)。SpecialCells(xlLastCell).Row

答案 2 :(得分:5)

您也可以使用

Cells.CurrentRegion

为您提供一个范围,表示当前活动工作表中数据的范围

Msdn说的话题

  

返回表示的Range对象   目前的地区。目前的地区   是由任何组合限定的范围   的空白行和空白列。   只读。

然后您可以通过

确定列数
Cells.CurrentRegion.Columns.Count

和行计数

Cells.CurrentRegion.Rows.Count

答案 3 :(得分:4)

您也可以使用:

UsedRange.Rows.Count

答案 4 :(得分:2)

要查找最后填充的列,请使用以下命令:

lastColumn = ActiveSheet.Cells(1, Columns.Count).End(xlToLeft).Column