我想从另一个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
答案 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")