Vba 计算其他工作表中的行数

Vba 计算其他工作表中的行数,vba,excel,with-statement,Vba,Excel,With Statement,我已经看了建议的问题,以找到我问题的答案。 最接近的问题是: 计算不同Excel工作表中的行数 那个问题的解决办法对我不起作用 我试图计算与活动工作表不同的工作表中某个范围内的行数。 这是我的密码: Sub verbflashcards() Dim wordcount As Long With Worksheets("Verbs") wordcount = .Range(Cells(4, 1), Cells(4, 1).End(xlDown)).Rows.Count End With M

我已经看了建议的问题,以找到我问题的答案。 最接近的问题是: 计算不同Excel工作表中的行数

那个问题的解决办法对我不起作用

我试图计算与活动工作表不同的工作表中某个范围内的行数。 这是我的密码:

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
我有一个叫做动词的工作表,它是工作簿中的第二个工作表。我试过:

With Verbs
With Sheet2
With Sheets("Verbs")
With Sheets("Sheet2") 

它们似乎都不起作用

检查此项,希望它能帮助您:

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链接:

由于未指定
单元格(4,1)
单元格(4,1)
的父级,因此原始设置不起作用。结束(xlDown)。当您在
中时,在任何单元格地址前面加上句点(也称为句号或句号)。。。以
块结束。例如:

With Worksheets("Verbs")
  wordcount = .Range(.Cells(4, 1), .Cells(4, 1).End(xlDown)).Rows.Count
End With

注意
.Cells(4,1)
而不是
Cells(4,1)
。句点指定您所引用的单元格位于工作表(“动词”)中。

有效!因此,工作表必须在该范围内再次被引用?有两种方法可以实现相同的目的。您可以选择任何一种。检查我编辑的答案。我认为
.Range(“D1”…
应该是
.Range(“A4”…
)。看起来你把r和c从
单元格(4,1)
中转置了。这不一定是使用的行数-它是A列中数据的最后一行(A1可以是空的等等).是的,你完全正确!!!当你使用block时必须小心。