正如标题所说;如何使用 VBA 在 Excel 中的一个工作簿/工作表中隐藏公式栏和状态栏,而不影响所有其他打开的工作簿/工作表?
我在工作表中插入了两个按钮。一个显示“全屏”的按钮,隐藏公式栏、状态栏、标题、滚动条等,还有一个显示“窗口屏幕”的按钮,显示前面提到的元素。
我的问题是,当我单击“全屏”按钮并隐藏元素时,我隐藏了 Excel 中所有打开的工作簿/工作表中的元素,这是我不想要的。我只想将元素隐藏在名为“仪表板”的特定工作表中。
目前,我正在使用此代码:
Sub HideAll()
ActiveWindow.DisplayHorizontalScrollBar = False
ActiveWindow.DisplayVerticalScrollBar = False
ActiveWindow.DisplayHeadings = False
ActiveWindow.DisplayWorkbookTabs = False
Application.DisplayStatusBar = False
Application.DisplayFormulaBar = False
Application.ExecuteExcel4Macro "show.toolbar(""Ribbon"",False)"
End Sub
Sub ShowAll()
ActiveWindow.DisplayHorizontalScrollBar = True
ActiveWindow.DisplayVerticalScrollBar = True
ActiveWindow.DisplayHeadings = True
ActiveWindow.DisplayWorkbookTabs = True
Application.DisplayStatusBar = True
Application.DisplayFormulaBar = True
Application.ExecuteExcel4Macro "show.toolbar(""Ribbon"",True)"
End Sub
最佳答案
简单的回答,你不能。
正如您在代码 Application.DisplayStatusBar
中看到的那样,状态栏和公式栏是应用程序的对象,而不是窗口或工作表的对象。
因此,如果您隐藏它们,则会隐藏在整个应用程序中。
作为解决方法,您可以打开第二个 Excel 实例,然后该实例有自己的应用程序,您可以在其中隐藏它们。请注意,这可能会带来其他缺点,因为 2 个 Excel 实例无法“看到”彼此。因此,如果您尝试在它们之间进行交互,可能会更加困难。
另一种解决方法可能是在工作簿激活时隐藏它们,并在工作簿停用时显示它们。但它们仍然隐藏在整个应用程序中。
关于excel - 如何隐藏一个特定工作簿中的公式栏和状态栏而不影响使用 VBA 打开的所有其他工作簿?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71824104/