取消隐藏列时Excel 2013崩溃

时间:2016-03-24 01:58:05

标签: excel vba excel-vba

到目前为止,我花了好几个小时试图解决这个问题。我有一个宏(见下文)取消隐藏/隐藏电子表格中的范围。看起来很简单,前两次我运行这个宏它工作正常;但是,第三次,总是取消隐藏范围,通常会导致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

1 个答案:

答案 0 :(得分:2)

所以,我感到沮丧,并认为工作簿已损坏,所以我从头开始创建一个新的。这个宏工作正常,直到我结束并意识到崩溃与我试图隐藏/取消隐藏的范围右侧的大型数据透视表有关。我不确定它为什么会发生,但我的解决方案是将我试图隐藏/取消隐藏的列放在工作簿中的单独表格中。宏可以在单独的工作表中使用它们。很奇怪的东西,但我很高兴最终有一个解决方案。