Excel VBA,粘贴特殊

时间:2017-10-23 09:53:14

标签: excel vba excel-vba

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

继承人代码:

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,它会复制我想要的内容,它复制的单元格是一个公式,我只想要值,我到处检查以纠正这个,但似乎什么都没有用,或者是我错过了什么

谢谢

3 个答案:

答案 0 :(得分:2)

您需要在两个语句中破坏您的代码行。目前,您将PasteSpecial的结果传递给Copy,它需要一个范围。

请改为尝试:

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

答案 1 :(得分:1)

请尝试以下方法:

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

答案 2 :(得分:0)

你走了:

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代码的最佳方法是使用宏录制器。它会为您提供一个很好的样本,您可以稍后进行优化。如果您使用的是宏录制器,请确保将其与Excel并排使用,这样您就可以看到实时生成的代码:

enter image description here