Mic*_*wed 4 checkbox excel performance vba loops
我有一张带有大约4500个复选框的Excel表格(我知道,这听起来很愚蠢,但它是针对客户的,请不要问......).刚写下下面的VBA Sub来取消选中所有框.到目前为止,它的工作原理非常缓慢,只需要超过5分钟,直到所有的boc都未经检查,而Sub运行时,整个Excel Applikation会冻结.我知道,4500复选框很安静很多,但我想知道这真的足以让Excel陷入这样的麻烦......有谁有想法?
最佳迈克尔
Sub DeselectAll()
Application.EnableCancelKey = False
Application.Calculation = xlCalculationManual
Application.ScreenUpdating = False
Application.EnableEvents = False
Dim wksA As Worksheet
Dim intRow As Integer
Set wksA = Worksheets("Companies")
For intRow = 1 To 4513
wksA.CheckBoxes("Checkbox_" & intRow).Value = False
Next
End Sub
Run Code Online (Sandbox Code Playgroud)
没有选择:
Sub DeselectAll()
With Worksheets("Companies").CheckBoxes
.Value = xlOff
End With
End Sub
Run Code Online (Sandbox Code Playgroud)
只是不要循环.
这是选择可以帮助的一个很好的例子:
要设置所有复选框:
Sub dural()
ActiveSheet.CheckBoxes.Select
Selection.Value = xlOn
End Sub
Run Code Online (Sandbox Code Playgroud)
要取消选中所有复选框:
Sub dural2()
ActiveSheet.CheckBoxes.Select
Selection.Value = xlOf
End Sub
Run Code Online (Sandbox Code Playgroud)
(在表单类型复选框上测试)
| 归档时间: |
|
| 查看次数: |
284 次 |
| 最近记录: |