2017-04-06 113 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")代替。

相关问题