2015-02-15 5 views
0

Почему при копировании ячейки, формы и т. Д. В Excel VBA, ActiveSheet.Cells(i,j).Paste недействителен?Re: .Copy и .Paste в Excel VBA

Вместо этого у меня есть

Cells(i,j).Select 
ActiveSheet.Paste 

, который работает, но почему?

ответ

5

Поскольку .Paste должен быть применен к SheetObject (как вы написали правильно: ActiveSheet.Paste)

Отъезд метод на MSDN. Она должна быть использована следующим образом:

Worksheets("Sheet1").Range("C1:C5").Copy 
ActiveSheet.Paste Destination:=Worksheets("Sheet1").Range("D1:D5") 

Или более коротко:

Cells(j,i).Copy Destination:=Cells(y,z) 

Или использовать PasteSpecial -метод. Он может быть применен к Range-объектов:

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

Вы не должны сказать ей, чтобы вставить, например, , если у вас есть переменные для I и J, то вы можете использовать этот

Range("A1").Copy Cells(i, j) 

Вы даже не можете копировать, например:

Cells(i, j)=Range("A1") 
Смежные вопросы