簡體   English   中英

如何禁用使用另一個子的VBA子

[英]How Do I Disable a VBA Sub Using Another Sub

我有一本工作簿,其設計目的實質上是作為一個獨立的應用程序運行。 所有工作表均受到保護,單個excel選項卡被隱藏,並且整個工作簿的頂部excel功能區也被隱藏。

以下VBA代碼執行上述過程,並應用於工作簿中的每個工作表。

Sub masque()

Application.ScreenUpdating = False
Application.EnableEvents = False
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)"
ActiveWindow.DisplayHeadings = False
ActiveWindow.DisplayGridlines = False
ActiveWindow.DisplayWorkbookTabs = False
Application.DisplayFullScreen = True
Application.DisplayStatusBar = Not Application.DisplayStatusBar
Application.WindowState = xlMaximized
ActiveWindow.WindowState = xlMaximized
Application.DisplayFormulaBar = False
Application.EnableEvents = True
Application.ScreenUpdating = True

End Sub

我想使用以下代碼作為按鈕來覆蓋先前的代碼,以便個人輕松地在“編輯器”模式和“用戶模式”之間切換

Sub masteredit()

Application.ScreenUpdating = False
ActiveWindow.View = xlNormalView
ActiveWindow.DisplayHeadings = False
ActiveWindow.DisplayGridlines = False
ActiveWindow.DisplayWorkbookTabs = False
Application.DisplayStatusBar = False
ActiveWindow.DisplayHorizontalScrollBar = True
ActiveWindow.DisplayVerticalScrollBar = True
ActiveWindow.DisplayWorkbookTabs = True
Application.DisplayFullScreen = False
Application.DisplayFormulaBar = True
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",True)"
Application.ScreenUpdating = True

有什么好的方法可以做到這一點?

好吧,您可能擁有預先確定的用戶類型,例如,默認情況下,該應用程序將用於user_mode。 因此,您使用了一個名為auto_open()的特殊子項,該子項將在每次打開工作簿時運行。 所以我們有

sub auto_open()
call masque
end sub

而且,只要您想在編輯器模式和用戶模式之間切換,就可以添加按鈕。 您可以將sub auto_open()放入所需的任何模塊中,因為Vba將其檢測為特殊的

解決了這個問題。

我忘記了工作簿中每張紙上都有以下代碼。

Sub Worksheet_Open()
Call masque
End Sub
Sub Worksheet_Activate()
Application.ScreenUpdating = False
Call masque
Application.ScreenUpdating = True
End Sub

因此,每當我嘗試導航到其他工作表時,都將使用該遮罩。

為了解決我的問題,我從每個頁面中刪除了先前的代碼。 然后,我在“主頁”頁面上添加了一個使用以下代碼的復選框。

Sub Worksheet_Open()
Call masque
End Sub
Sub Worksheet_Activate()
Application.ScreenUpdating = False
Call masque
Application.ScreenUpdating = True
End Sub

這樣,當您打開工作簿時,將自動應用面具。 但是,當您單擊復選框時,將進入編輯器模式,並且將應用masteredit子目錄。 如果未選中,則再次應用面膜。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM