excel - 计算工作表中的行数

标签 excel vba

我想从 Sheet2 代码模块计算 Sheet1 中的行数。

sheet1代码模块中,以下代码工作正常

ctr = Range("B2", Range("B2").End(xlDown)).Count

我在 Sheet2 代码模块中尝试了相同的代码

recct = ThisWorkbook.Sheets("Sheet1").Range("B2", Range("B2").End(xlDown)).Count

我收到运行时错误 1004 应用程序定义或定义错误

谢谢

最佳答案

错误发生在 recct 中的第二个范围引用中。由于您引用的是不同的工作表,因此需要在两个范围引用中告诉 VBA 工作表名称。

试试这个:

With ThisWorkbook.Sheets("Sheet1")    
    recct = .Range("B2", .Range("B2").End(xlDown)).Rows.Count    
End With

或者,这也可以工作(尽管有点草率)。

recct = ThisWorkbook.Sheets("Sheet1").Range("B2", ThisWorkbook.Sheets("Sheet1").Range("B2").End(xlDown)).Rows.Count

更新

由于关于工作表上行数的实际含义有很多讨论,因此使用上面的代码从 B2 开始并计算正下方的连续单元格的数量

但是,如果您想查找 B 列中最后一个“真实”使用的单元格(真正的,我的意思是其中包含数据),请执行以下操作:

With ThisWorkbook.Sheets("Sheet1")

    recct = .Range("B2", .Range("B" & .Rows.Count).End(xlUp)).Rows.Count

End With

关于excel - 计算工作表中的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13088090/

相关文章:

python - 将pandas df写入excel时将选定的列类型更改为百分比

java.lang.IllegalArgumentException : Sheet index (26) is out of range (0. .2)

Excel VBA : Saving and Attaching a worksheet as pdf

vba - 如何使用 VBA 代码添加新电子表格

vba - UFT 14.00 如何在不同操作中使用函数的属性

excel - 一步从日期中删除小时和分钟

python - Pandas 在比较两列不同工作表后创建一列

星期数和年份的excel日期

vba - 编辑单元格后的自动选择更改事件会选择相同的新单元格,即使我的更改事件代码定义了新的目标单元格

excel - 如何在 Excel VBA 中创建表格到电子邮件?