我正在尝试为每个循环编写最多性能,我可以循环通过适用的复选框并更改其状态。
以下代码的第一行(已注释掉)可以工作,但循环遍历活动工作表上的所有OLEObject(工作表上大约200),并且每个循环内部的“If”语句将操作限制为只有具有我传递给子的strRangName的组名属性的复选框。
第二行不起作用,并且是首选方法,即仅循环定义的命名范围中的OLEObject。这将消除每个块中“if”语句的需要。
如果我预先定义自定义集合,第三行确实有效,但预定义它的过程也循环遍历工作表上的所有OLEObject。所以它没有更快。
非常感谢有关实施第二个选项的任何想法。
TIA
'For Each obj In ActiveSheet.OLEObjects
For Each obj In Names(strRangeName).RefersToRange '.Range(strRangeName)
'For Each obj In subSystemCollection
If Not obj.Object.GroupName = strRangeName Then
Else
With obj
.Enabled = False
.Object.Value = False
End With
End If
Next obj