Как одновременно (синхронно) изменять данные и параметры форматирования сразу в нескольких рабочих листах?

Для того, чтобы синхронно изменять данные сразу в нескольких рабочих листах, достаточно всего лишь вручную выделить (сгруппировать) нужные листы.

Это позволит Вам обойтись без использовании макросов, однако, при наличии нескольких групп и частом их применении, выделение листов можно осуществить и программно. Для этого, скопируйте нижеприведённый код в модуль ThisWorkbook (ЭтаКнига) нужной рабочей книги и сохраните внесённые изменения. Теперь, после активации любого из листов, входящих в группу, Вы сможете продолжить работу с группой выделенных листов.

code: #vba
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    On Error GoTo ErrHandler '
    Select Case LCase(Sh.Name)
        Case "архив", "копия": iSheets = Array("Архив", "Копия")
        Case "бухгалтер", "директор": iSheets = Array("Бухгалтер", "Директор")
        Case "семенов", "петров", "отчет": iSheets = Array("Семенов", "Петров", "Отчет")
        Case Else: Exit Sub
    End Select
    Me.Worksheets(iSheets).Select
ErrHandler:
    Select Case Err.Number
        Case 9: MsgBox "Отсутствует лист(ы) с указанным именем", , ""
        Case 1004: MsgBox "Листы не должны быть скрытыми", , ""
    End Select
End Sub
Поделиться:

Похожие статьи: