我正在复制一个范围,然后将其值和格式粘贴到另一个范围,如下所示:
ws5.Range("F3:N" & xCell).SpecialCells(xlCellTypeVisible).Copy
ws16.Cells(Rows.Count, "B").End(xlUp).Offset(4, 0).PasteSpecial xlPasteValues
ws16.Cells(Rows.Count, "B").End(xlUp).Offset(4, 0).PasteSpecial xlPasteFormats
我的问题是,是否可以在不使用With的情况下在一个操作中执行这两个粘贴操作?我想提高宏的速度,这种小的缩减可能对我有所帮助。
也许有一些我不知道的.PasteSpecial xlPasteValues and xlPasteFormats
类解决方案。
当我在寻找这个问题的解决方案时,I found that link but the only answer provided here is using With, which is useless for me.
答案 0 :(得分:0)
您正在寻找:
xlPasteValuesAndNumberFormats
答案 1 :(得分:0)
xlPasteAll
(实际上,由于xlPasteAll
是默认的粘贴选项,因此您可以将其关闭。)
来源:https://msdn.microsoft.com/en-us/library/aa195818(v=office.11).aspx
答案 2 :(得分:0)
您可以通过以下方式使用它:
NewSheet.Range("A1").PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
NewSheet.Range("A1").PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
将两个命令一个接一个地放置。首先,必须全部粘贴,然后再次粘贴,但只能粘贴值和数字格式。
答案 3 :(得分:-2)
您可以多次粘贴内容以获得所需的内容,例如
Cells(1, 1).PasteSpecial Paste:=xlPasteAll
Cells(1, 1).PasteSpecial Paste:=xlPasteValues