这是我关于stackoverflow的第一个问题......我还应该说我不是一个非常优秀的程序员。
我有一个大约33000行/ 7列的电子表格,并且必须将具有多个条件(条件数量范围从1到500)的过滤器应用于这些数据。我已经使用Excels高级过滤器编写了一个程序(宏)来自动执行此操作。它效果很好而且非常快(大约0.5秒)。但是,只要我在电子表格上放置一个命令按钮来运行该程序,程序就会减慢到7到180秒之间的任何时间(程序越慢,标准越多)。我到处尝试过/搜索过但是找不到解决方法来解决这个问题!非常欢迎任何帮助!!!
答案 0 :(得分:0)
你真的需要这个按钮吗?您可以从功能区(Developer >> Macros
或SelectionChange
)或直接从IDE触发操作。最后,当用户在某个单元格中单击时,您可以尝试按事件('Add in your sheet in Cell E1 text like 'Click to run macro' and
'fill it yellow or with other color to resemble a button
'Goto Sheet module and add the code below-
'-check first if you don't have a SelectionChange macro already there
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.EnableEvents = False
If Target.Cells.Count = 1 Then
If Target.Address(False, False) = "E1" Then
Target.Offset(1, 0).Select
MyFilteringMacro
End If
End If
Application.EnableEvents = True
End Sub
)触发操作。见下面的例子。
[
'attribute' => 'some_title',
'format' => 'raw',
'value' => function ($model) {
return '<a href="'.$yourUrl .'">your Text</a>';
},
],