У меня есть много файлов Excel в папке. У меня есть макросы, которые проходят через каждый файл и копируют N2 и O2 в приложение под названием CopyMyStuff.
Я пытаюсь вставить это еще одну книгу Excel, которую я каждый раз открываю в новом ряду. Это работает только тогда, когда он открывает все книги в этой папке цикла. Это не сработает, когда я попытаюсь закрыть эти книги.
Workbooks(MyFile).Close savechanges:=True
это создает мне проблему. Если я достану его, он сработает, но у меня останется 50 открытых листов, которые я должен закрыть.
Sub Loop_1()
Dim wkb As Workbook
'Adding New Workbook
Set wkb = Workbooks.Add
'Saving the Workbook
wkb.SaveAs "C:\Users\mscarpa\Documents\Automation\COMPILER.xlsx"
Dim MyFolder As String, MyFile As String
With Application.FileDialog(msoFileDialogFolderPicker)
.AllowMultiSelect = False
.Show
MyFolder = .SelectedItems(1)
Err.Clear
End With
Application.ScreenUpdating = False
MyFile = Dir(MyFolder & "\", vbReadOnly)
Do While MyFile <> ""
Workbooks.Open Filename:=MyFolder & "\" & MyFile, UpdateLinks:=False
Application.Run "PERSONAL.XLSB!CopyMyStuff"
Workbooks(MyFile).Close savechanges:=True
MyFile = Dir
With wkb
Set wkst = wkb.Sheets("Sheet1")
wkst.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
Application.CutCopyMode = False
Application.ScreenUpdating = True
End With
Loop
Application.ScreenUpdating = True
End Sub
Я получаю ошибку
Не удалось вставить специальный метод класса диапазона.