Экспорт контактов из AmoCRM в Excel и объединение сотен файлов в одну книгу
У AmoCRM есть ограничение на количество экспортируемых контактов, максимум, что вы можете себе позволить — 500 штук за раз. При этом наша база насчитывает 20 000, и, несложно догадаться, после экспорта получилось 40 файлов. И их нужно объединить в один Excel файл для удобства восприятия.
Делается это следующим образом. Во-первых, сохраните все файлы с зажатой клавишей Ctrl (чтобы при каждом клике у вас не открывалось новое окно):
У вас получится много файлов, в моем случае — 41.
Открываете новую Excel-книгу, пустую, нажимаете Alt+F11, получаете окно макросов.
Дважды кликайте на «Эта книга»
Откроется пустое окно для макросов (на скриншоте я уже скопировал туда текст).
Копируем туда следующий код:
Sub simpleXlsMerger() 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") 'change folder path of excel files here Set dirObj = mergeObj.Getfolder("E:\amo") 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("A2:IV" & Range("A65536").End(xlUp).Row).Copy ThisWorkbook.Worksheets(1).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
Обратите внимание, здесь нужно изменить только путь к вашим файлам. У меня это E:\amo
Нажимаете зеленую кнопку Play (Run) и все файлы объединяются в один.
Не так сложно, хоть и потребовало создание макроса.
Спасибо! Всё сработало идеально! Думал уже придется писать самому.
СПАСИБО!