Vba 在图纸列表中循环
我试图循环浏览(随机命名)工作表列表,并为每个工作表计算最后一行,然后循环浏览所有行并执行一些代码 我尝试了下面的代码,但得到的Vba 在图纸列表中循环,vba,loops,excel,Vba,Loops,Excel,我试图循环浏览(随机命名)工作表列表,并为每个工作表计算最后一行,然后循环浏览所有行并执行一些代码 我尝试了下面的代码,但得到的过程调用或参数无效。我已经用各种方式修改过了,但这让我发疯了…提前谢谢你 Sub myloop() Dim ws As Variant Dim WsArray As Variant Dim rcount As Integer WsArray = Array("mysheet1", "mysheet2", "mysheet3", "myshe
过程调用或参数无效
。我已经用各种方式修改过了,但这让我发疯了…提前谢谢你
Sub myloop()
Dim ws As Variant
Dim WsArray As Variant
Dim rcount As Integer
WsArray = Array("mysheet1", "mysheet2", "mysheet3", "mysheet4")
With ThisWorkbook
For Each ws In WsArray
rcount = .Worksheets(ws).Cells("A1").End(xlDown).Row
For i = 1 To rcount
If ...Then
End If
Next
Next
End With
End Sub
试试这个。与其转到单元格A1并向下查找最后一行,不如转到最后一个单元格(rows.count),然后向上查找
Sub myloop()
Dim ws As Variant
Dim WsArray As Variant
Dim rcount As Integer
WsArray = Array("mysheet1", "mysheet2", "mysheet3", "mysheet4")
With ThisWorkbook
For Each ws In WsArray
With .Worksheets(ws)
rcount = .Cells(.Rows.Count, "A").End(xlUp).Row
End With
For i = 1 To rcount
'If .. Then
End If
Next
Next
End With
End Sub
@桑托什在找到最后一排的问题上提出了很好的观点。至于原始问题,在任何
工作簿
中都存在一个工作表
集合,根据您的结构,该集合实际上可能更容易循环:
Dim ws As Worksheet
For Each ws In Worksheets
'match worksheet names if necessary using ws.Name...
'
'do other cool stuff...
'
'wrap it all up
Next ws
我不确定那是什么语言,但我认为可能是VBA for Excel。不管是什么,你都应该用语言来标记这个问题,以帮助人们找到它。不会有人搜索StackOverflow来回答关于“循环”的问题(目前这是这个问题上唯一的标签)。如果答案适合您,请在您方便的时候接受它。这里有一个截图形式的超级快速解释:我将声明i和rcount为Long+1:我更喜欢在工作表中循环使用这种语法