Excel VBA,粘贴特殊

我有这个粘贴function的问题,我尝试了一些东西,似乎无法使它的工作

inheritance人的代码:

Sub copy() Sheets("Sheet1").Range("A19:B19").Copy Sheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Offset(4, 0).PasteSpecial Paste:= xlPasteValues End Sub 

如果我拿出.PasteSpecial Paste:= xlPasteValues ,它复制我想要的,它复制的单元格是一个公式,我只是想要的价值,我检查到处纠正这个,但似乎没有任何工作,或者我失踪某物

谢谢

请尝试下面的内容:

 Sub copy() Sheets("Sheet1").Range("A19:B19").copy Sheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Offset(4, 0).PasteSpecial Paste:=xlPasteValues End Sub 

你需要用两条语句来打破你的代码行。 目前,您将PasteSpecial的结果传递给复制,这需要一个范围。

试试这个:

 Sub copy() Sheets("Sheet1").Range("A19:B19").Copy Sheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Offset(4, 0).PasteSpecial Paste:= xlPasteValues End Sub 

干得好:

 Sub TestMe() Sheets(1).Range("A19:B19").Copy Sheets(2).Range("A" & Rows.Count).End(xlUp).Offset(4, 0).PasteSpecial Paste:=xlPasteValues End Sub 

基于简单的Excel函数制作vba代码的最好方法是使用macroslogging器。 它会给你一个很好的样本,以后可以优化。 如果您使用的是macros录像机,请确保与Excel一起使用,因此您可以看到实时生成的代码:

在这里输入图像说明