Excel行计数不起作用

时间:2016-03-10 12:35:40

标签: excel vba excel-vba macros

我有一个使用非常大的数据集的VBA宏。 在我的数据集中,我有~44000行。我想在宏中计算这一点,并尝试使用显示here的顶级方法。

我接受变量sncountmax并使其等于上面链接中的一个方法。

sncountmax = Cells.Find("*", [A1], , , xlByRows, xlPrevious).Row

即使工作表包含44000行,sncountmax也将保持设置为先前设置的值。

编辑:我已检查过,此工作表上没有其他宏功能正在执行。我试图使用宏删除重复项,但这不起作用,但删除Excel中的重复项。

2 个答案:

答案 0 :(得分:2)

尝试更改为以下内容:

sncountmax = Cells(Rows.Count, "A").End(xlUp).Row

这将给出A列的最后一行,因此在您的情况scountmax = 44000

答案 1 :(得分:0)

我不建议使用find。它不可靠,因为它有时根据数据不返回任何内容,而且速度较慢。

如果您的唯一目的是计算第一列中的行:

with thisworkbook.sheets("Sheet1")
    sncountmax = .Cells(.Rows.Count, 1).End(xlUp).Row
end with

参考上面示例中的工作表和工作簿。

您可能希望在模块顶部使用Option Explicit

此外,我只能猜测,但您应该删除Òn Error Resume Next。 错误意味着您的代码在某处出错。