VBA错误438:使用deactivate复制到不同的工作簿

时间:2016-05-02 15:25:16

标签: vba excel-vba excel

我有一个简单的代码,可以将一些数据从一个工作簿复制到另一个工作簿,如下所示:

     Private Sub Workbook_Deactivate()
        ThisWorkbook.ActiveSheet.RangeSelection.Copy
     End Sub

但是当我尝试运行它时,会出现一条消息错误:"错误438,对象不支持此属性或方法"

当我改变这个时,它运作正常。有人可以解释一下为什么?

    Private Sub Workbook_Deactivate()
        ThisWorkbook.Windows(1).RangeSelection.Copy
    End Sub

非常感谢!

1 个答案:

答案 0 :(得分:0)

因为RangeSelection是Window对象的属性而不是工作表对象的属性 工作表没有可用于复制选定范围的属性 你可以用

Selection.Copy

复制活动工作表中的选定范围。 或者只是使用你已经拥有的东西。