我有一个大约20,000行的电子表格。此电子表格是一个层次结构,显示设备的零件清单。我创建了创建按钮(实际上是形状矩形)的代码,允许用户通过隐藏/取消隐藏行来扩展/收缩这些组。
我认为代码运行缓慢,因为电子表格上有几千个按钮,我相信每次隐藏行时都会刷新。当我单击代码运行的按钮时,正确的行隐藏/取消隐藏,然后所有按钮消失几秒钟然后重新开始。在行隐藏或取消隐藏之后发生了消失,因此代码已经完成运行。
有没有办法阻止Excel刷新每个按钮?有没有不同的问题?
答案 0 :(得分:0)
听起来您可以使用Excel中的数据透视表功能。我确信它比电子表格使用的宏/按钮快得多:
PIVOT TABLE OUTLINE
您只需要将数据重新组织成一个合适的格式。祝你好运。
如果您需要透视表的说明,您可以直接谷歌“透视表教程。 http://www.google.com/search?q=%22pivot+table+tutorial%22
答案 1 :(得分:0)
我使用了一种解决方法,当代码很方便时我会详细说明,但就像这样:
让按钮创建宏在单元格中创建超链接而不是文本+/-
和工具提示>>expand/collapse<<
ActiveSheet.Hyperlinks.Add _
Anchor:=[A1], Address:="", _
SubAddress:=[A1].Address, _
ScreenTip:=">>expand/collapse<<", _
TextToDisplay:="+/-"
在workseet_followhyperlink
事件中,请检查工具提示是否为>>expand/collapse<<
,如果是,请按照宏观进行播种和隐藏。
if target.screentip = ">>expand/collapse<<" then
myShowHideMacro
else
'do other stuff
end if