我查看了建议的问题以找到问题的答案。 最近的问题叫做: 计算不同Excel工作表中的行数 Count number of rows in a different Excel Sheet
该问题的解决方案对我不起作用。
我正在尝试计算与活动工作表不同的工作表中某个范围内的行数。 这是我的代码:
Sub verbflashcards()
Dim wordcount As Long
With Worksheets("Verbs")
wordcount = .Range(Cells(4, 1), Cells(4, 1).End(xlDown)).Rows.Count
End With
MsgBox (wordcount)
End Sub
我有一个名为Verbs的工作表,它是工作簿中的第二个工作表。我试过了:
With Verbs
With Sheet2
With Sheets("Verbs")
With Sheets("Sheet2")
它们似乎都不起作用。
答案 0 :(得分:14)
您的原始版本无效,因为未指定Cells(4, 1)
和Cells(4, 1).End(xlDown)
的父级。当您在With ... End With
块内时,使用句点(aka。或句号)为任何单元格地址添加前缀。例如:
With Worksheets("Verbs")
wordcount = .Range(.Cells(4, 1), .Cells(4, 1).End(xlDown)).Rows.Count
End With
请注意.Cells(4, 1)
而非Cells(4, 1)
。句点指定您引用的单元格在工作表中("动词")。
答案 1 :(得分:4)
检查一下,希望这对您有所帮助:
Sub verbflashcards()
Dim wordcount As Long
wordcount = ActiveWorkbook.Worksheets("Verbs").Range("A4", Worksheets("Verbs").Range("A4").End(xlDown)).Rows.Count
MsgBox (wordcount)
End Sub
其中, D1 是您可以从中获取行数的列。
方法2:
Sub verbflashcards()
Dim wordcount As Long
With Sheets("Verbs")
wordcount = .Range("A" & .Rows.Count).End(xlUp).Row
End With
MsgBox (wordcount)
End Sub
注意:您的问题有很多答案。检查此SO链接:How can I find last row that contains data in the Excel sheet with a macro?