尝试创build一个将在特定表格上开始和结束的循环

我是VBA新手。 我想创build一组代码,这将允许我启动和停止一组工作表之间的循环。

背景:我有一个文件,用于更新财务分析的几个重要因素,并将某些选项卡分组在一起。 由于这个文件总是添加和减less制表符,我不能为设定数量的工作表设置一个循环。 我有一组在每个分组之间永远不会移动的选项卡。

所以我想创build一个循环,将开始在选项卡“X + 1”,并循环,直到它到达标签“Y-1”,因为我不想循环交stream。 中间的代码我已经写完了,但是我还没有很好的循环。

Dim i as integer For i = X+1 to Y-1 Sheets(i).Select .... your code Next i 

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

 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的数字结束来循环表单集合的任何子集,但请确保不超过这些界限。

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

确保你没有使用涉及Sheet.Select.Activate逻辑,这只会导致麻烦下路。 您的代码应该始终在Worksheet对象上直接引用,而不是依赖状态相关variables(如ActiveSheet