在当前工作表和当前工作表之后的所有工作表中运行宏

在当前工作表和当前工作表之后的所有工作表中运行宏

我有一个 excel 文件,里面有 12 个工作表,每个工作表对应一个月。我有三个宏,它们在一个工作表中执行。是否可以这样实现:如果我在 10 月工作表中运行宏,那么它也会在 11 月和 12 月工作表中运行?

更“数学化”地讲。我有 n 张工作表。我在工作表 k 中执行宏(k > 0 && k <= n),并且我希望在工作表 < k+1, k+2, ... , n > 中执行相同的宏。

答案1

像这样吗?

  1. RunMacroOnAllSheetsToRight循环遍历从活动工作表到最后一张工作表的每个工作表
  2. 对于这些工作表,将调用获取工作表索引作为参数的函数MyFunction。Msgbox 只是一个示例操作。请根据您的需要进行更改。

Sub RunMacroOnAllSheetsToRight()
    For i = ActiveSheet.Index To Sheets.Count
        Call MyFunction(i)
    Next i
End Sub

Function MyFunction(i)
    'Code goes here
    MsgBox "I'm currently on sheet " & ThisWorkbook.Sheets(i).Name
End Function

相关内容