Страницы: 1
RSS
Работа макросов на нескольких листах, а не только на активном.
 
Здравствуйте. Помогите, пожалуйста, с проблемой.

В документе есть командная кнопка, по нажатию которой срабатывает группа макросов. Код прописан следующим образом:
Код
Private Sub CommandButton1_Click()


If CheckBox10.Value = True Then
Application.Run "ПоказЯнв"
Else
Application.Run "СкрытьЯнв"
End If
If CheckBox11.Value = True Then
Application.Run "ПоказФевр"
Else
Application.Run "СкрытьФевр"
End If
If CheckBox12.Value = True Then
Application.Run "ПоказМарт"
Else
Application.Run "СкрытьМарт"
End If

В настоящий момент в документе несколько одинаковых листов, и комбинация макросов в данном случае, срабатывает только на активном листе. Вопрос в следующем: как нужно прописать код, чтобы данные макросы можно было выполнялись на всех листах, или на текущем листе по добавлению значения в OptionButton?

 
В этот? Ничего. А тот код, который нужно менять, Вы от нас скрываете.
 
StoTisteg, На кнопку завязано порядка 40 макросов, если я весь код заскриню, будет ОЧЕНЬ большой скрин)) Суть грубо в том, что нужно, чтобы если нажат "OptionButton" то кнопка запускает все макросы для текущего листа, если он не нажат, то запускает все макросы для всех листов. для этого вам нужен весь код? он состоит только из группы макросов "If".
 
Цитата
Realrett написал:  если я весь код заскриню, будет ОЧЕНЬ большой скрин
Вас просят ВСЕ? У Вас просят рисунок?
Создайте небольшой пример в Excel, где будет 2-3 простых макроса. Не нужны полные рабочие процедуры. Пример должен иллюстрировать вопрос, а не показывать все, что Вы там начудили.
 
Можно так попробовать, но не факт  ;)
Код
    Dim sht As Worksheet
    For Each sht In ThisWorkbook.Worksheets
        sht.Activate
        If CheckBox10.Value = True Then
        Application.Run "ПоказЯнв"
        Else
        Application.Run "СкрытьЯнв"
        End If
        If CheckBox11.Value = True Then
        Application.Run "ПоказФевр"
        Else
        Application.Run "СкрытьФевр"
        End If
        If CheckBox12.Value = True Then
        Application.Run "ПоказМарт"
        Else
        Application.Run "СкрытьМарт"
        End If
    Next sht
"Все гениальное просто, а все простое гениально!!!"
Страницы: 1
Наверх