到目前为止,我花了好几个小时试图解决这个问题。我有一个宏(见下文)取消隐藏/隐藏电子表格中的范围。看起来很简单,前两次我运行这个宏它工作正常;但是,第三次,总是取消隐藏范围,通常会导致Excel 2013崩溃。我读到here在我取消隐藏的范围内具有易失性用户定义函数可能导致问题,但我已经尝试使函数不易变,Excel仍然崩溃。有没有人有任何想法或经历过这个?
Sub HideShowSQLCreator(control As IRibbonControl)
Dim SQL_Creator As Range
Dim Report_Home_Cell As Range
Set SQL_Creator = Sheets("Report").Range("SQL_Creator")
Set Report_Home_Cell = Sheets("Report").Range("Report_Home_Cell")
If SQL_Creator.EntireColumn.Hidden = False Then
SQL_Creator.EntireColumn.Hidden = True
Report_Home_Cell.EntireRow.Select
ActiveWindow.FreezePanes = True
ActiveSheet.Range("Report_Home_Cell").Select
Exit Sub
End If
If SQL_Creator.EntireColumn.Hidden = True Then
SQL_Creator.EntireColumn.Hidden = False
ActiveWindow.FreezePanes = False
SQL_Creator.Select
Exit Sub
End If
End Sub
答案 0 :(得分:2)
所以,我感到沮丧,并认为工作簿已损坏,所以我从头开始创建一个新的。这个宏工作正常,直到我结束并意识到崩溃与我试图隐藏/取消隐藏的范围右侧的大型数据透视表有关。我不确定它为什么会发生,但我的解决方案是将我试图隐藏/取消隐藏的列放在工作簿中的单独表格中。宏可以在单独的工作表中使用它们。很奇怪的东西,但我很高兴最终有一个解决方案。