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).句点指定您引用的单元格在工作表("动词")中.
检查一下并希望这会对您有所帮助:
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 次 |
| 最近记录: |