Это мой макрос для объединения всех файлов в одном каталоге в один лист Excel. Я не могу найти, почему он не работает в соответствии с ожиданиями. У меня есть тысячи строк в каждом файле. Он копирует 1000 строк из первого файла, но в следующем файле он копирует из 1001-й строки вместо 1-й строки. таким же образом 3-ий файл копирует из 2001-го ряда. Я хочу скопировать первые 1000 строк каждый раз. Какая часть кода вызывает проблемы

Sub MergeFiles()
Dim bookList As Workbook
Dim mergeObj As Object, dirObj As Object, filesObj As Object, everyObj As Object
Application.ScreenUpdating = False
Set mergeObj = CreateObject("Scripting.FileSystemObject")
Dim i
i = 0

'change folder path of excel files here
Dim TTFiles_Path As String
ThisWorkbook.Worksheets(7).Activate
TTFiles_Path = Range("B2").Value

Set dirObj = mergeObj.GetFolder(TTFiles_Path)
Set filesObj = dirObj.Files
For Each everyObj In filesObj
Set bookList = Workbooks.Open(everyObj)


'change "A2" with cell reference of start point for every files here
'for example "B3:IV" to merge all files start from columns B and rows 3
'If you're files using more than IV column, change it to the latest column
'Also change "A" column on "A65536" to the same column as start point
Range("A4:IV" & Range("A65536").End(xlUp).Row).Copy
ThisWorkbook.Worksheets(8).Activate

'Do not change the following column. It's not the same column as above
Range("A65536").End(xlUp).Offset(1, 0).PasteSpecial
Application.CutCopyMode = False
bookList.Close
Next

End Sub

1 ответ1

0

Один из способов проанализировать ошибку: использовать отладку макроса.

Пожалуйста, смотрите мой ответ здесь для самых основ.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .