sar*_*316 0 excel vba excel-vba
当运行下面的宏时,我的整个电子表格都会闪烁,如果有人告诉我如何让它发生,我将不胜感激.
宏正在检查列D是否显示为灰色,如果它是彩色并使列F变灰,反之亦然.
它通过使用C列中正确的颜色复制我设置的3个单元格的格式来更改颜色.
Worksheets("SHELLY").Range("D4:F19").ClearContents
If Worksheets("SHELLY").Range("D3:D19").Interior.ColorIndex = 15 Then
Range("C41").Select
Selection.Copy
Range("F3:F19").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("C42").Select
Selection.Copy
Range("D3:D19").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Else
Range("C41").Select
Selection.Copy
Range("D3:D19").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range("C43").Select
Selection.Copy
Range("F3:F19").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
End If
Run Code Online (Sandbox Code Playgroud)
尝试放:
Application.ScreenUpdating = False在你的代码之前和Application.ScreenUpdating = True最后.
据我所知,切换此属性告诉Excel不要重绘/更新屏幕.
它可能会提高代码的速度.此外,最好避免使用激活/选择,但这不是你的问题.