运行 来自形状或“按钮(表单控件)”的宏导致挂起 Excel 功能区,Office 2016 32_Bit
Run a Macro from Shape or `Button (Form control)` leads to hang the Excel Ribbon, Office 2016 32_Bit
This issue can be produced only on Office 2016
.
我有一个名为 Test
的 sheet ,然后我手动或通过此代码隐藏它:
Sub Make_Sheet_Hidden()
Sheets("Test").Visible = xlSheetHidden
End Sub
问题:如果下面的代码Make Visible
分配给Shape
或Button (Form control)
,然后运行它使用excel 功能区,例如单击 Bottom Border
这会导致挂起 Excel 功能区。
但是,奇怪的是,如果 运行 以下代码来自 命令按钮 (ActiveX 控件)或来自代码 window 的 运行,则完全没有问题。
Sub Make_Sheet_Visible()
Sheets("Test").Visible = xlSheetVisible
Sheets("Test").Select
End Sub
注意:这是工作簿Link的link
要产生问题,必须先隐藏 sheet Test
,然后单击 Shape
或Button 1
请问这个问题的解释是什么以及如何解决?
注意 1: 即使在 Excel 中只打开一个工作簿也会出现上述问题。
注意 2:这个问题不是我的工作簿特有的,我从头开始创建了一个新工作簿,但存在同样的问题。
注意 3: 该问题特定于 Office 2016。
答案:
我将下面一行中的 Select 替换为 Activate
Sheets("Test").Select
所以,好的工作宏是
Sub Make_Sheet_Visible()
Sheets("Test").Visible = xlSheetVisible
Sheets("Test"). Activate
End Sub
实际上:我不知道为什么使用 (Activate) 而不是 (Select) 解决了这个问题的技术解释。
This issue can be produced only on Office 2016
.
我有一个名为 Test
的 sheet ,然后我手动或通过此代码隐藏它:
Sub Make_Sheet_Hidden()
Sheets("Test").Visible = xlSheetHidden
End Sub
问题:如果下面的代码Make Visible
分配给Shape
或Button (Form control)
,然后运行它使用excel 功能区,例如单击 Bottom Border
这会导致挂起 Excel 功能区。
但是,奇怪的是,如果 运行 以下代码来自 命令按钮 (ActiveX 控件)或来自代码 window 的 运行,则完全没有问题。
Sub Make_Sheet_Visible()
Sheets("Test").Visible = xlSheetVisible
Sheets("Test").Select
End Sub
注意:这是工作簿Link的link
要产生问题,必须先隐藏 sheet Test
,然后单击 Shape
或Button 1
请问这个问题的解释是什么以及如何解决?
注意 1: 即使在 Excel 中只打开一个工作簿也会出现上述问题。
注意 2:这个问题不是我的工作簿特有的,我从头开始创建了一个新工作簿,但存在同样的问题。
注意 3: 该问题特定于 Office 2016。
答案:
我将下面一行中的 Select 替换为 Activate
Sheets("Test").Select
所以,好的工作宏是
Sub Make_Sheet_Visible()
Sheets("Test").Visible = xlSheetVisible
Sheets("Test"). Activate
End Sub
实际上:我不知道为什么使用 (Activate) 而不是 (Select) 解决了这个问题的技术解释。