我有一个包含许多条件格式设置规则的Excel工作表。当我对另一张纸执行PasteSpecial时,所有格式都消失了。 这是为什么? 不幸的是,我需要遵守所有规则。
我尝试使用xlPasteFormats,xlPasteAll等,但随后Excel冻结并挂起。
Sheets("Data").Activate
Range("A1:H12").Select
Selection.Copy
Sheets("Output").Activate
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
答案 0 :(得分:3)
您可以进行常规复制/粘贴
或PasteSpecial中的参数:
Paste:=xlPasteAllMergingConditionalFormats
如果您进行SO搜索,则会发现一些有关为什么应避免使用Select
和Activate
的信息。使用常规的复制/粘贴操作,您的宏可以重写为单行格式:
Sheets("Data").Range("A1:H12").Copy Sheets("Output").Range("A1")
答案 1 :(得分:0)
感谢您的回答,并看着我的问题。
我最终使用
粘贴:= xlPasteValues
粘贴:= xlPasteFormats
这将格式复制过来。
一切都这么慢的原因是,其中一张纸有很多重复的条件格式设置规则。 我只使用两个条件格式设置规则删除并重新创建了工作表,操作起来很快。