1

我是 VBA 新手。我正在尝试创建一组代码,允许我在一组工作表之间启动和停止循环。

背景:我有一个文件用于更新财务分析的几个重要因素,并且某些选项卡组合在一起。由于此文件总是添加和减去选项卡,因此我无法为一组工作表设置循环。我确实有一组标签,它们永远不会在每个分组之间移动。

所以我想创建一个循环,从选项卡“X+1”开始并循环直到它到达选项卡“Y-1”,因为我不希望循环到 ac。中间的代码我已经编写并完成了,但我还不太擅长循环。

4

2 回答 2

0

在当前工作簿中循环多个工作表的正确方法是:

Dim i As Integer
Dim wrksheet As Worksheet

For i = 1 To Sheets.Count
    Set wkrsheet = ThisWorkbook.Sheets(i)
    'Do work on wrksheet object
Next i

您可以通过从大于 1 的数字开始或以小于 Sheets.Count 的数字结束来循环 Sheets 集合的任何子集,但请确保不要超出这些范围。

如果您希望过滤掉某些工作表,您可以通过检查来跳过基于工作表名称的逻辑wrksheet.Name

确保您没有使用涉及Sheet.Selector的逻辑.Activate,这只会导致麻烦。您的代码应始终通过直接引用而不是依赖状态相关变量(如ActiveSheet.

于 2012-11-26T19:02:04.583 回答
0
Dim i as integer
For i = X+1 to Y-1
   Sheets(i).Select
    .... your code
Next i
于 2012-11-26T18:38:01.537 回答