В «Новой папке» у меня есть книги Excel, которые будут открыты циклом;Я хочу скопировать 2 столбца в каждую из этих рабочих книг и вставить их в другую рабочую книгу с именем «new»
. Когда я запускаю код, я получаю Ошибка времени выполнения «91»: переменная объекта илипеременная блока не установлена
в строке С wb.Worksheets (5) и копируются только данные первой рабочей книги.
Как это исправить?
Option Explicit
Sub ProcessFiles()
Dim Filename, Pathname As String
Dim wb As Workbook
Dim wbMain As Workbook
Dim i As Integer
Set wbMain = Workbooks.Open("C:\Users\A\Desktop\VBA\new.xlsx")
Pathname = "C:\Users\A\Desktop\VBA\New folder\"
Filename = Dir(Pathname)
i = 1
Do While Filename <> ""
Set wb = Workbooks.Open(Pathname & Filename)
Enter_Formulas wb, wbMain, i
wb.Close SaveChanges:=True
Filename = Dir()
i = i + 2
Loop
End Sub
Sub Enter_Formulas(wb As Workbook, wbMain As Workbook, i)
With wb.Worksheets(5)
.Columns(1).Copy Destination:=wbMain.Worksheets(2).Columns(i)
.Columns(3).Copy Destination:=wbMain.Worksheets(2).Columns(i + 1)
End With
End Sub