Я пытаюсь сделать копию и вставку данных между книгами и рабочими листами. У меня есть следующие коды, но, похоже, он занимает много времени. Мне было интересно, есть ли более простой способ копирования?Копирование между книгами и рабочими листами
Sub Test1()
Dim wb As Workbook, x As String, y As String, wb1 As Workbook
For Each wb In Application.Workbooks
If wb.Name <> ThisWorkbook.Name Then x = wb.Name
Next wb
Workbooks(x).Activate
Sheets("Sheet1").Range("A:E").Copy
ActiveWindow.WindowState = xlMinimized
Sheets("Sheet1").Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteAll
Sheets("Sheet1").Range("A1").Select
Workbooks(x).Activate
ActiveWindow.WindowState = xlNormal
Sheets("Sheet1").Range("F:F").Copy
ActiveWindow.WindowState = xlMinimized
Sheets("Sheet1").Range("G:G").Select
Selection.PasteSpecial Paste:=xlPasteAll
Workbooks(x).Activate
ActiveWindow.WindowState = xlNormal
End Sub
спасибо, но то, что я пытаюсь сделать, это сделать копию между тетрадями, что причина, почему я использовать эти поперечные активации книг. Другими словами, мой код состоит в том, чтобы активировать первую книгу, которая будет копировать, а затем вставлять данные в другую книгу. – user1204868
Копирование вставки в другую книгу также работает с выше, вам нужно объявить свои книги как Dim wb1 как Workbook1.xls, dim wb2 как workbook2.xls, а затем wb1.sheetname.range(). Скопируйте wb2.sheetname.range() .... это тоже должно работать ... – Vasim
, но проблема у меня есть нет фиксированного имени для книги, поскольку Я делаю еженедельный файл excel .. спасибо за ваш вклад! :) – user1204868