回复:。在Excel VBA中复制并粘贴

回复:。在Excel VBA中复制并粘贴,vba,excel,Vba,Excel,为什么在Excel VBA中复制单元格、形状等时,ActiveSheet.Cells(i,j).Paste无效 相反,我有 Cells(i,j).Select ActiveSheet.Paste 这是可行的,但为什么?因为必须将.Paste应用于SheetObject(正如您正确编写的:ActiveSheet.Paste) 查看上的方法。必须按以下方式使用: Worksheets("Sheet1").Range("C1:C5").Copy ActiveSheet.Paste Destinat

为什么在Excel VBA中复制单元格、形状等时,
ActiveSheet.Cells(i,j).Paste
无效

相反,我有

Cells(i,j).Select
ActiveSheet.Paste

这是可行的,但为什么?

因为必须将
.Paste
应用于SheetObject(正如您正确编写的:
ActiveSheet.Paste

查看上的方法。必须按以下方式使用:

Worksheets("Sheet1").Range("C1:C5").Copy 
ActiveSheet.Paste Destination:=Worksheets("Sheet1").Range("D1:D5")
或者更简短地说:

Cells(j,i).Copy Destination:=Cells(y,z)
或者使用-method。它可以应用于范围对象:

With sheet
    .Range("C1:C5").Copy 
    .Range("D1:D5").PasteSpecial Operation:=xlPasteSpecialOperationAdd 
End With

因为必须将
.Paste
应用于SheetObject(正如您正确编写的:
ActiveSheet.Paste

查看上的方法。必须按以下方式使用:

Worksheets("Sheet1").Range("C1:C5").Copy 
ActiveSheet.Paste Destination:=Worksheets("Sheet1").Range("D1:D5")
或者更简短地说:

Cells(j,i).Copy Destination:=Cells(y,z)
或者使用-method。它可以应用于范围对象:

With sheet
    .Range("C1:C5").Copy 
    .Range("D1:D5").PasteSpecial Operation:=xlPasteSpecialOperationAdd 
End With

例如,您不必告诉它要粘贴, 如果为i和j设置了变量,那么可以使用

Range("A1").Copy Cells(i, j)
您甚至可以根本不复制,例如:

Cells(i, j)=Range("A1")

例如,您不必告诉它要粘贴, 如果为i和j设置了变量,那么可以使用

Range("A1").Copy Cells(i, j)
您甚至可以根本不复制,例如:

Cells(i, j)=Range("A1")