Как скопировать лист Excel с макросами VBA с одного листа на другой лист в той же книге - PullRequest
0 голосов
/ 30 января 2019

Я новичок в VBA и мне нужна некоторая помощь в этом. У меня есть книга Excel с несколькими листами с кодами и макросами VBA, я хотел бы скопировать один и тот же набор листов и изменить только значения кнопок, например,если предыдущая кнопка (ABC) в листе имеет такой код:

Sub ABC()
    Application.ScreenUpdating = False
    Sheets("Trend").Select
    ActiveSheet.Unprotect
    ActiveSheet.PivotTables("PivotTable3").PivotFields("Responsible Station"). _
        CurrentPage = "ABC"

    Call ResetTrendColors

    Dim btnt As Shape
    Set btnt = ActiveSheet.Shapes(2)
        With btnt.ThreeD
            .Visible = True
        End With
            btnt.Fill.ForeColor.RGB = RGB(205, 48, 57)
            btnt.TextFrame.Characters.Font.Color = RGB(252, 196, 37)

    ActiveSheet.Protect AllowUsingPivotTables:=True

    Sheets("Dashboard").Select
    ActiveSheet.Unprotect
    ActiveSheet.PivotTables("PivotTable4").PivotFields("Responsible Station"). _
        CurrentPage = "ABC"
    ActiveSheet.PivotTables("PivotTable5").PivotFields("Responsible Station"). _
        CurrentPage = "ABC"
    ActiveSheet.PivotTables("PivotTable6").PivotFields("Responsible Station"). _
        CurrentPage = "ABC"
    ActiveSheet.PivotTables("PivotTable2").PivotFields("Responsible Station"). _
        CurrentPage = "ABC"

    Call ResetDashboardColors

    Dim btnd As Shape
    Set btnd = ActiveSheet.Shapes(3)
        With btnd.ThreeD
            .Visible = True
        End With
            btnd.Fill.ForeColor.RGB = RGB(205, 48, 57)
            btnd.TextFrame.Characters.Font.Color = RGB(252, 196, 37)

    ActiveSheet.Protect AllowUsingPivotTables:=True
    Application.ScreenUpdating = True

End Sub

Я смог скопировать лист на другой лист в той же книге, но при попытке отредактировать кнопки из ABC вскажем 'XYZ', выдает ошибку:

Ошибка времени выполнения 1004: ошибка приложения или объекта

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...