ash*_*hta 7 excel vba excel-vba
我想从Sheet2代码模块中计算Sheet1中的行数.
在sheet1代码模块中,以下代码工作正常
ctr = Range("B2", Range("B2").End(xlDown)).Count
Run Code Online (Sandbox Code Playgroud)
我在Sheet2代码模块中尝试了相同的代码
recct = ThisWorkbook.Sheets("Sheet1").Range("B2", Range("B2").End(xlDown)).Count
Run Code Online (Sandbox Code Playgroud)
我正进入(状态 run time error 1004 Application -Defined or Defined error
谢谢
错误发生在第二个范围参考中recct.因为您引用了不同的工作表,所以需要告诉VBA两个范围引用中的工作表名称.
试试这个:
With ThisWorkbook.Sheets("Sheet1")
recct = .Range("B2", .Range("B2").End(xlDown)).Rows.Count
End With
Run Code Online (Sandbox Code Playgroud)
或者,这也会起作用(虽然有点邋)).
recct = ThisWorkbook.Sheets("Sheet1").Range("B2", ThisWorkbook.Sheets("Sheet1").Range("B2").End(xlDown)).Rows.Count
Run Code Online (Sandbox Code Playgroud)
更新
由于关于工作表上行数的实际含义有很多讨论,请使用上面的代码从字面上开始B2并直接计算下面连续单元的数量
但是,如果你想在B列中找到最后一个"真正的"用过的单元格(通过实际,我的意思是其中包含数据),请执行以下操作:
With ThisWorkbook.Sheets("Sheet1")
recct = .Range("B2", .Range("B" & .Rows.Count).End(xlUp)).Rows.Count
End With
Run Code Online (Sandbox Code Playgroud)
您可以使用这个例如:
rowsInThere = Sheets("Sheet1").UsedRange.Rows.Count
Run Code Online (Sandbox Code Playgroud)
这在没有范围的情况下工作。您也可以用作ActiveSheet检查工作表,以防您需要更改当前工作表并检查其行数。
| 归档时间: |
|
| 查看次数: |
69191 次 |
| 最近记录: |