我有清除4个不同页面上不同范围的未受保护单元格的内容的代码。这是缓慢的,并给我一个“联盟'全球失败的方法”。有什么建议么?我的代码被附加以下按钮清除未受保护的单元格太慢/无法正常工作
Sub ClearAllUnLocked()
Application.ScreenUpdating = False
Dim r As Range, rKlear As Range
Set rclear = Nothing
For Each r In ThisWorkbook.Worksheets("A").Range("F7:AA832")
If r.Locked = False Then
If rKlear Is Nothing Then
Set rKlear = r
Else
Set rKlear = Union(rKlear, r)
End If
End If
Next r
rKlear.ClearContents
For Each r In ThisWorkbook.Worksheets("B").Range("D7:Y806")
If r.Locked = False Then
If rKlear Is Nothing Then
Set rKlear = r
Else
Set rKlear = Union(rKlear, r)
End If
End If
Next r
rKlear.ClearContents
For Each r In ThisWorkbook.Worksheets("E").Range("F7:AA855")
If r.Locked = False Then
If rKlear Is Nothing Then
Set rKlear = r
Else
Set rKlear = Union(rKlear, r)
End If
End If
Next r
rKlear.ClearContents
For Each r In ThisWorkbook.Worksheets("X").Range("F7:AA3006")
If r.Locked = False Then
If rKlear Is Nothing Then
Set rKlear = r
Else
Set rKlear = Union(rKlear, r)
End If
End If
Next r
rKlear.ClearContents
Application.ScreenUpdating = True
End Sub
感谢
尝试设置rKlear =每个表单循环前都没有。并且我相信rclear与其他代码不匹配rklear。 – TJYen
要做的第一件事就是将'rclear'改为'rKlear'。 (把'Option Explicit'作为每个代码模块的第一行 - 它会帮助检测错别字。)我怀疑这是否能解决你的问题,但它可能会阻止未来的问题。 – YowE3K