使用双倍for循环来和谐工作

问题描述 投票:0回答:1

我想用for each遍历我工作簿中的每个工作表,但同时我希望for i = 1在我遍历的每个工作表上增加。我是一个初学者在Excel Vba任何帮助将是感激它。以下是我的代码目前的样子。

For Each xSh In Worksheets
        Windows("Forecast.xlsm").Activate
        xSh.Select
        For i = 2 To LastRow
... Some codes ...

next i

Next

这段代码不能像预期的那样完美地循环,有什么办法能让i和for每个都能和谐地工作,以及我应该把下一个方法放在哪里。谢谢你^^

excel vba excel-vba
1个回答
1
投票

我建议移动Windows("Forecast.xlsm").Activate之前的每一个周期。你不需要每次都把它带到前面。

我还建议使用 "选项Explicit "并声明变量。在这种情况下,Dim xSh As Worksheet和Dim i As Long。

注释:并不总是需要选择工作表来使用它。

例如

Option Explicit

Sub Example()
Dim i As Long
Dim xSh As Worksheet
Windows("Forecast.xlsm").Activate
For Each xSh In ActiveWorkbook.Worksheets
    For i = 2 To LastRow
       ' Some Code
    Next i
Next xSh
© www.soinside.com 2019 - 2024. All rights reserved.