首页 > 解决方案 > 按钮消失,代码不再起作用

问题描述

我想从另一个 excel 文件中复制/粘贴一张纸。没什么难的,我有这个功能(以前有效)。

但现在它说“ThisWorkbook.Activate”行有问题。

这怎么可能 ?文件找不到自己?

Sub Bouton1_Cliquer()


Workbooks.Open ("the way to the excel source")

    Sheets("produits").Activate
    Sheets("produits").Range("A1:AZ200").Copy

    ThisWorkbook.Activate
    Sheets("Produits").Select
    ActiveSheet.Range("A5").Select
    ActiveSheet.Paste


End Sub

标签: excelvba

解决方案


您可以用以下更快的替换,因为没有 .Select 和 .Activate 的开销。您还应该包含要从中复制的范围的工作簿名称,或者将您打开的工作簿设置为变量并使用它。您将用变量替换 Activeworkbook。

ActiveWorkbook.Worksheets("produits").Range("A1:AZ200").Copy ThisWorkbook.Worksheets("Produits").Range("A5")

使用工作簿变量:

Dim wb As Workbook
Set wb = Workbooks.Open("the way to the excel source")
wb.Worksheets("produits").Range("A1:AZ200").Copy ThisWorkbook.Worksheets("Produits").Range("A5")

推荐阅读