cells()。paste VS cells.pastespecial?

new*_*ion 5 excel vba excel-vba

下面的代码如何工作:

.Range("D4:F4").copy
.cells(1,1).PasteSpecial  
Run Code Online (Sandbox Code Playgroud)

虽然以下方法不起作用:

.Range("D4:F4").copy
.cells(1,1).Paste  
Run Code Online (Sandbox Code Playgroud)

我意识到正确的语法是

.Range("D4:F4").copy Destination:=
Run Code Online (Sandbox Code Playgroud)

Sid*_*out 5

答案很简单,.Paste是不是的属性Cells的对象,但的Worksheet对象

如果在.后面键入Cells,则Intellisense将确认该事实:)

有多种复制数据的方法。

如果您只想复制值而不格式化,那么这是最好的方法

rng1.Value = rng2.Value
Run Code Online (Sandbox Code Playgroud)

如果您要进行格式化,则可以使用

Rng1.copy Rng2 
Run Code Online (Sandbox Code Playgroud)

要么

Rng1.Copy
rng2.pastespecial
Run Code Online (Sandbox Code Playgroud)