按钮消失,代码不再起作用

时间:2018-11-02 14:43:58

标签: excel vba excel-vba

我想从另一个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

2 个答案:

答案 0 :(得分:1)

您可以替换为以下内容,因为它没有.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")

答案 1 :(得分:0)

另一个功能不起作用:

Sub UpdateData()
    Dim WsDest As Worksheet 'destination workbook to write in
Set WsDest = Workbook("YES").Worksheets("maybe")

Dim WsSrc As Worksheet 'source workbook to match with
    Set WsSrc = Workbook("YES").Worksheets("Perhaps")

它曾经工作过,是同样的问题,文件找不到自己。 我试图用全名代替ThisWorkbook,例如在示例中。 在此之前:

Set WsDest = ThisWorkbook.Worksheets("maybe")
Set WsSrc = ThisWorkbook.Worksheets("Perhaps")