excel - 如何隐藏一个特定工作簿中的公式栏和状态栏而不影响使用 VBA 打开的所有其他工作簿?

标签 excel vba

正如标题所说;如何使用 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/

相关文章:

vba - 出现 "Unable to set CurrentPage property of PivotField class"错误

.net - GridView : Export to csv issue

excel - 将 cfdocument 保存为 Excel 文件

VBA将另一个UserFormB的值输入到UserFormA的TextBox

python - 强制 python 脚本不等待 vba 宏终止

Excel VBA 代码适用于我,但不适用于其他人

iphone - 如何使用 objective-c 从 Excel 文档中读取单元格数据

combobox - Excel VBA 组合框返回索引而不是值

excel - 在 +/- 按键上增加/减少 ActiveCell 的值

arrays - Excel - 查找列中不是错误或空白的最后一个值