Private Sub CommandButton2_Click()
Application.ScreenUpdating = False
Dim i As Integer
For i = 9 To Sheets.Count
Worksheets(i).Activate
Call Расчет_себестоимости
Next i
Worksheets("СВОД").Activate
End
Да, краткость сестра таланта...Но явно не Ваша. Вам помощь нужна или поговорить? Сколько листов? Почему считаете что не работает? Что после 8-го листа? Где расположена процедура? Если в модуле листа - то активация листа не даст никакого эффекта если процедура Расчет_себестоимости так же в модуле листа. Перенесите все в стандартный модуль и проверьте работу.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Ок. Всего 70+ листов. Есть скрытые листы, но до 8 . 8 Лист - сводный. После идут листы с данными которые считаются по макросу "Расчет себестоимости". В отдельности все хорошо работает. Но чтобы не размещать макрос-кнопку на каждом листе, хотелось бы сделать запуск именно с 8 листа "Свод", для расчета каждого последующего листа. Процедура расположена в отдельном модуле без какого либо конкретного листа.
cokos92 написал: Процедура расположена в отдельном модуле
Что-то мне не верится. Полагаю, что код все же в модуле листа. Ну и в любом случае без кода второй процедуры ничего другого не может вызвать подобную ошибку.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...