Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 在图纸列表中循环_Vba_Loops_Excel - Fatal编程技术网

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:我更喜欢在工作表中循环使用这种语法