Выполнение макроса на текущем листе и на всех листах после текущего

У меня есть файл excel, который имеет 12 листов, каждый из которых соответствует месяцу. У меня есть три макроса, которые выполняются в листе, в котором они выполняются. Можно ли сделать это таким образом, что если я выполню макрос в листе октябрь, то он также будет выполняться в листе ноябрь и декабрь?

выражаясь более "математически". У меня n листов. Я выполняю макрос в листе k (k > 0 && k <= n), и я хочу, чтобы тот же макрос выполнялся в листах

24
задан isklenar
26.04.2023 14:10 Количество просмотров материала 2787
Распечатать страницу

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
0
отвечен nixda 2023-04-27 21:58

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя

Похожие вопросы про тегам:

macros
microsoft-excel
microsoft-excel-2010
vba
Вверх