Я новичок в 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: ошибка приложения или объекта