Vba 在excel中快速格式化单元格
我试图在电子表格上运行反向更新,以删除一系列单元格中的所有格式。遍历单元格足够快,但是进行内部引用似乎会显著降低代码的速度Vba 在excel中快速格式化单元格,vba,excel,Vba,Excel,我试图在电子表格上运行反向更新,以删除一系列单元格中的所有格式。遍历单元格足够快,但是进行内部引用似乎会显著降低代码的速度 Set Rng1 = ThisWorkbook.Worksheets(ws.Name).Range("A17:bb300") For Each c1 In Rng1 If c1.Interior.Pattern = xlSolid Then With c1.Interior .Pattern = xlNone
Set Rng1 = ThisWorkbook.Worksheets(ws.Name).Range("A17:bb300")
For Each c1 In Rng1
If c1.Interior.Pattern = xlSolid Then
With c1.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End If
Next c1
干杯或者您可以先确定所有单元格,然后一次性格式化:
Dim Rng1 As Range, Rng2 As Range
Set Rng1 = ThisWorkbook.Worksheets(ws.Name).Range("A17:bb300")
For Each c1 In Rng1
If c1.Interior.Pattern = xlSolid Then
If Rng2 Is Nothing Then
Set Rng2 = c1
Else
Set Rng2 = Union(Rng2, c1)
End If
End If
Next c1
With Rng2.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
关闭/打开屏幕更新如何
Application.ScreenUpdate=False
然后在代码后面将其设置为True
。您的问题是“…删除所有格式…”,但您的代码只清除少数格式属性。如果要清除所有格式,请使用Rng1.ClearFormats