计算另一个工作表中的行数

use*_*603 8 excel vba excel-vba with-statement

我查看了建议的问题以找到问题的答案.最近的问题称为:计算不同Excel工作表中不同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
Run Code Online (Sandbox Code Playgroud)

我有一个名为Verbs的工作表,它是工作簿中的第二个工作表.我试过了:

With Verbs
With Sheet2
With Sheets("Verbs")
With Sheets("Sheet2") 
Run Code Online (Sandbox Code Playgroud)

他们似乎都没有工作.

小智 14

您原来是行不通的,因为母公司Cells(4, 1)Cells(4, 1).End(xlDown)没有规定.当你在一个区块内时,用一个句点(也就是句号句号)前缀任何单元格地址With ... End With.例:

With Worksheets("Verbs")
  wordcount = .Range(.Cells(4, 1), .Cells(4, 1).End(xlDown)).Rows.Count
End With
Run Code Online (Sandbox Code Playgroud)

请注意.Cells(4, 1)而不是Cells(4, 1).句点指定您引用的单元格在工作表("动词")中.


Par*_*h J 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
Run Code Online (Sandbox Code Playgroud)

其中,D1是可以从中获取行数的列。

方法二:

Sub verbflashcards()

Dim wordcount As Long
With Sheets("Verbs")
    wordcount = .Range("A" & .Rows.Count).End(xlUp).Row
End With

MsgBox (wordcount)
End Sub
Run Code Online (Sandbox Code Playgroud)

注意:您的问题有很多答案。检查此SO链接:How can I find last row that contains data in the Excelsheet with a macro?


归档时间:

查看次数:

14366 次

最近记录:

9 年,8 月 前