Это не может быть сделано. Как вы видите, все выполняемые вами действия находятся либо в объекте Application
(который на самом деле является Excel), либо в объекте ActiveWindow
(который является окном Excel). Таким образом, они всегда будут влиять на весь Excel, а не только на конкретный c рабочий лист (поэтому эти опции должны быть в объекте Worksheet
).
Вы не можете переключить это только для одного рабочего листа. Но вы могли бы обойти это, скрыв его, когда активирован указанный лист c, и скрыв их, когда он деактивирован.
Option Explicit
Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)"
Application.DisplayFormulaBar = False
ActiveWindow.DisplayHeadings = False
Application.DisplayStatusBar = False
ActiveWindow.DisplayWorkbookTabs = False
Application.ScreenUpdating = True
End Sub
Private Sub Worksheet_Deactivate()
Application.ScreenUpdating = False
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",True)"
Application.DisplayFormulaBar = True
ActiveWindow.DisplayHeadings = True
Application.DisplayStatusBar = True
ActiveWindow.DisplayWorkbookTabs = True
Application.ScreenUpdating = True
End Sub
Поместите это в область вашего листа, который вы хотите скрыть.
Обратите внимание, что вы получите странные эффекты, если закроете Excel, когда панели инструментов будут скрыты. В следующий раз, когда вы откроете Excel, все еще будет скрыто. Поэтому обязательно закрывайте их перед закрытием Excel.