我正在复制一个范围,然后将其值和格式粘贴到另一个范围:
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
的东西吗?
我找到了link,但即使这个答案也在使用
With
,这对我来说毫无用处。
您可以这样使用它:
NewSheet.Range("A1").PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
NewSheet.Range("A1").PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
将两个命令依次放置。首先,您必须全部粘贴,然后再次粘贴,但仅粘贴值和数字格式。
您正在寻找:
xlPasteValuesAndNumberFormats
xlPasteAll
(实际上,由于
xlPasteAll
是默认的粘贴选项,所以你可以不勾选它。)
来源:https://msdn.microsoft.com/en-us/library/aa195818(v=office.11).aspx
您可以多次粘贴内容以获得您需要的内容,例如
Cells(1, 1).PasteSpecial Paste:=xlPasteAll
Cells(1, 1).PasteSpecial Paste:=xlPasteValues