我有一本很大的工作簿,其中有许多用于后台计算的工作表,当它们不使用时我会隐藏它们。工作簿被锁定(没有功能区、工作表选项卡、公式栏等),因此在使用时无法被篡改。
在 Excel 2010 中,一切都很顺利,活动工作表没有更改,但现在在 Excel 2016 中,以下 Sub 将活动工作表更改为“CompCalc”工作表,这使用户无法返回到他们需要所在的工作表使用工作簿。
Sub MakeSheetsVisible(Status As Boolean)
Dim VarSubName As String
VarSubName = "MakeSheetsVisible"
'***********************************************************
ProtectSheets (False)
Sheets("DATA_INPUT").Visible = Status
Sheets("RAW_DATA").Visible = Status
Sheets("MASTERHISTORY").Visible = Status
Sheets("CompCalc").Visible = Status
'Sheets("Event_Enter").Visible = Status
Sheets("Raw_Chart_Data").Visible = Status
End Sub
此 Sub 在从另一个 Sub 调用的 Sub 末尾调用,可以通过两种方式之一触发:按下按钮或双击 ListView。仅当使用按钮调用初始 Sub 以及例程连续运行(不使用 F8 逐步执行)时,活动工作表才会在上述例程中发生更改。
我可以通过在例程开始时检查原始活动工作表并在结束时将其设置回原始状态来解决此问题,但我想知道为什么会发生这种情况,以及是否有一种方法可以在不使用解决方法。任何帮助表示赞赏
这是 Excel 2013/2016 中的一个恼人的错误,据我所知,还没有修复。我使用的解决方法是:
Set CurrentSheet = ActiveSheet
'Instructions here
CurrentSheet.Activate
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)