Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel xlPasteValues和xlPasteFormats同时使用_Excel_Vba_Copy Paste_Paste - Fatal编程技术网

Excel xlPasteValues和xlPasteFormats同时使用

Excel xlPasteValues和xlPasteFormats同时使用,excel,vba,copy-paste,paste,Excel,Vba,Copy Paste,Paste,我正在复制一个范围,然后将其值和格式粘贴到另一个范围: ws5.Range(“F3:N”&xCell).特殊单元格(xlCellTypeVisible).复制 ws16.单元格(Rows.Count,“B”).结束(xlUp).偏移量(4,0).粘贴特殊的xlpasteValue ws16.单元格(Rows.Count,“B”).结束(xlUp).偏移量(4,0).粘贴特殊的xlPasteFormats 是否可以在一个操作中执行这两个粘贴操作,而不使用和 我想提高宏的速度,这种小幅度的降低可能

我正在复制一个范围,然后将其值和格式粘贴到另一个范围:

ws5.Range(“F3:N”&xCell).特殊单元格(xlCellTypeVisible).复制
ws16.单元格(Rows.Count,“B”).结束(xlUp).偏移量(4,0).粘贴特殊的xlpasteValue
ws16.单元格(Rows.Count,“B”).结束(xlUp).偏移量(4,0).粘贴特殊的xlPasteFormats
是否可以在一个操作中执行这两个粘贴操作,而不使用

我想提高宏的速度,这种小幅度的降低可能会对我有所帮助

是否有类似于
.paste的特殊XLPasteValue和xlPasteFormats

我发现,但即使是这个答案也使用了
,这对我来说毫无用处。

您正在寻找:

xlPasteValuesAndNumberFormats
编辑##这不是正确答案。您正在寻找:

xlPasteValuesAndNumberFormats

编辑##这不是正确答案。
xlPasteAll

(实际上,由于
xlPasteAll
是默认的粘贴选项,因此您可以将其禁用。)


来源:

xlPasteAll

(实际上,由于
xlPasteAll
是默认的粘贴选项,因此您可以将其禁用。)


来源:

您可以多次粘贴内容以获得所需内容,如

Cells(1, 1).PasteSpecial Paste:=xlPasteAll
Cells(1, 1).PasteSpecial Paste:=xlPasteValues

您可以多次粘贴内容以获得所需内容,如

Cells(1, 1).PasteSpecial Paste:=xlPasteAll
Cells(1, 1).PasteSpecial Paste:=xlPasteValues

您可以这样使用它:

NewSheet.Range("A1").PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
NewSheet.Range("A1").PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

将两个命令依次放置。首先,您必须粘贴全部,然后再次粘贴,但仅粘贴值和数字格式。

您可以这样使用:

NewSheet.Range("A1").PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
NewSheet.Range("A1").PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False


将两个命令依次放置。首先,你必须粘贴所有内容,然后再粘贴,但只粘贴值和数字格式。

xlPasteFormats
对格式画师的作用完全相同。这是
NumberFormats
吗?呃,我猜我误解了这个问题。答案确实是,你不能将这两者结合起来,你必须做两个特殊的粘贴。如果这不是正确的答案,你应该简单地删除它,而不是编辑说它不正确。
xlPasteFormats
与Format Painter做了完全相同的事情。这个
NumberFormats
做了同样的事情吗,我想我误解了这个问题。答案是,你不能将这两者结合起来,你必须做两个粘贴特价。如果这不是正确的答案,你应该简单地删除它,而不是编辑说它不正确。如果你还想复制单元格的背景色,然后您需要使用当前使用的两行语法,因此没有其他方法可以假装使用第二行。有些事情看起来很简单,但在这个应用程序中不可能同时实现:)您可以创建自己的函数来实现这一点。这样,您就不需要每次编写两行代码(如果有问题的话)来回答您的问题,没有办法在一个命令中粘贴所有值和格式,您可以得到的最接近的是值和数字格式,而不是单元格格式。我能问一下为什么要先做值,然后再做格式?还有,为什么你反对使用with语句?它干净高效。如果你反对,我想你可以设置一个名为
pasterrange
的范围变量,并使用
pasterrange.pasterspecial-xlpastervalue:pasterrange.pasterspecial-xlpasterformats
,但这会非常低效。如果你还想复制单元格的背景色,然后您需要使用当前使用的两行语法,因此没有其他方法可以假装使用第二行。有些事情看起来很简单,但在这个应用程序中不可能同时实现:)您可以创建自己的函数来实现这一点。这样,您就不需要每次编写两行代码(如果有问题的话)来回答您的问题,没有办法在一个命令中粘贴所有值和格式,您可以得到的最接近的是值和数字格式,而不是单元格格式。我能问一下为什么要先做值,然后再做格式?还有,为什么你反对使用with语句?它干净高效。如果您反对,我想您可以设置一个名为
pasterrange
的范围变量,并使用
pasterrange.pasterspecial xlpastervalue:pasterrange.pasterspecial xlpasterformats
,但这将非常低效。谢谢您的回答,但是xlpasterall粘贴公式而不是值。@Mertinc不,它粘贴所有内容。文档解释了每个常量的含义:哦,是的,但我不希望粘贴公式,当您粘贴所有内容时,它也会粘贴公式。我只想粘贴它的值。@Mertinc哦,好吧,我不明白,我没有意识到。一点也不担心,伙计。无论如何,谢谢你的努力。我认为不可能同时将粘贴值与格式结合起来。谢谢您的回答,但是xlPasteAll粘贴公式而不是值。@Mertinc不,它粘贴所有内容。文档解释了每个常量的含义:哦,是的,但我不希望粘贴公式,当您粘贴所有内容时,它也会粘贴公式。我只想粘贴它的值。@Mertinc哦,好吧,我不明白,我没有意识到。一点也不担心,伙计。无论如何,谢谢你的努力。我认为不可能同时将粘贴值与格式结合起来。