Vba 尝试查找特定工作表中的行数

Vba 尝试查找特定工作表中的行数,vba,excel,Vba,Excel,更新:我发现了我的错误-可变sheetRange需要工作表(“时间表”)。还增加了 很抱歉给您带来不便。 我有一个相对简单的问题,我试图使用VBA来查找特定工作表中的行数。我得到一个弹出框,上面写着400,但我不确定我的语法在哪里 Sub PhxCheck() Dim i As Integer, x As Integer, numofRows As Integer Dim top As Range, bottom As Range, sheetRange As Range Dim phxCo

更新:我发现了我的错误-可变sheetRange需要工作表(“时间表”)。还增加了

很抱歉给您带来不便。 我有一个相对简单的问题,我试图使用VBA来查找特定工作表中的行数。我得到一个弹出框,上面写着400,但我不确定我的语法在哪里

Sub PhxCheck()


Dim i As Integer, x As Integer, numofRows As Integer
Dim top As Range, bottom As Range, sheetRange As Range
Dim phxContract As String, contractID As String


Set top = Sheets("Schedule").Range("A3")
Set bottom = Sheets("Schedule").Range("A65536").End(xlUp)
Set sheetRange = Range(top, bottom)
numofRows = sheetRange.Rows.Count

Cells(30, 1).Value = numofRows
End Sub
添加图纸(“明细表”)时会发生错误。到顶部和底部范围


谢谢你的帮助

您可以大大简化代码,避免使用会限制错误的冗余变量

您所需要的只是:

With Sheets("Schedule")
    Cells(30, 1).Value = .Range("A3", .Cells(Rows.Count, "A").End(xlUp)).Rows.Count
End With

我知道您自己解决了问题,但上述内容可能有助于您或其他人查找类似问题。

不过我发现您还必须将图纸(“明细表”)添加到sheetRange变量中。非常愚蠢的错误,我的错误。接得好。正如您所知道的,您必须这样做的原因是没有限定的范围推断活动表。或者,您可以将变量设置为工作表<代码>将ws设置为工作表
将ws设置为工作表(“计划”)
ws.Range…
谢谢,感谢您的解释。我是VBA的新手,所以像你这样的评论对我帮助很大。Jean-Francois好吧,我不知道这是协议,但我会在将来确保这样做。谢谢,我一直在寻找更有效的方法来做事情。