2017-04-06 102 views
3
'Copy and Paste the format of table 
     With wb.Sheets("Sheet1").UsedRange 
      .Copy 
     End With 

     Set cell = ActiveSheet.Range("C" & Rows.Count).End(xlUp) 
     cell.Offset(3, 3).Activate 

     With wbTarget.Sheets(I).ActiveCell 
      .PasteSpecial 
     End With 

在第3段,它給我錯誤。我想將我複製的內容粘貼到activecell中。對象不支持此屬性vba

我該如何解決這個問題?謝謝

+0

您正在'.Copy'和'.PasteSpecial'之間使用'Activate' - 這不需要,它只會減慢您的代碼 –

+0

用'ActiveCell'代替'wbTarget.Sheets(I).ActiveCell' – user3598756

回答

2

如果我明白你想用你的代碼實現什麼,我認爲ActiveSheet也是wbTarget.Sheets(I)(我希望)。

所以更換您:

Set cell = ActiveSheet.Range("C" & Rows.Count).End(xlUp) 
cell.Offset(3, 3).Activate 

With wbTarget.Sheets(I).ActiveCell 
    .PasteSpecial 
End With 

有了:

With ActiveSheet 
    Set cell = .Range("C" & .Rows.Count).End(xlUp) 
    cell.Offset(3, 3).PasteSpecial 
End With 

注意:你應該從ActiveSheet遠離並使用Worksheets("SheetName")代替。

相關問題