Несколько csv файлов в один excel

Download PC Repair Tool to quickly find & fix Windows errors automatically

If you have multiple CSV files and want to merge them into one Excel workbook so that it becomes more user-friendly and easy for editing, this article will be handy for you. No matter whether you have opened the CSV files in Notepad, Excel, Google Sheets, or any other app, you can use this method to join them into one.

Let’s assume that someone sent you two or three CSV files containing some information about your new project. Now you need to combine them into one so that you can do the next job. At such a moment, you can use this step-by-step tutorial to join all those CSV files and create a new Excel spreadsheet.

To merge multiple CSV files into one Excel sheet, follow these steps:

  1. Create a new folder and paste all the CSV files into that.
  2. Open the folder.
  3. Right-click on an empty space and select the Open in Windows Terminal option.
  4. Enter this command: copy *.csv newfile.csv
  5. Double-click on the csv file to open it in Excel.
  6. Click on the File > Save As option.
  7. Select a location where you want to save the file.
  8. Select the Excel Workbook (*.xlsx) format from the Save as type drop-down list.
  9. Click the Save button.

To learn more about these steps, continue reading.

At first, you need to create a new folder and paste all the CSV files to that folder. Although it is not mandatory, you can organize all the files if you have ten or twenty CSV files to merge. Once done, open the folder, right-click on an empty space, and select the Open in Windows Terminal.

Make sure that the Command Prompt instance is opened. However, if it has opened the Windows PowerShell, you need to do something else to open Command Prompt instance of Windows Terminal in the selected folder. For that, right-click on the folder, select Copy as path option, and enter the following command:

cd [copied-path]

Next, you need to enter this command:

copy *.csv newfile.csv

It is possible to replace the newfile.csv with anything else you want to name your newly combined file.

How to merge multiple CSV files into one Excel Sheet

Once done, you can find a file in the same folder called newfile.csv. You need to double-click on this file to open it in Excel. After that, do not make any changes, and click the File > Save As option.

Then, choose a location where you want to save the file and select the Excel Workbook (*.xlsx) option from the Save as type drop-down list.

How to merge multiple CSV files into one Excel Sheet

After that, you can enter a name as you like and click the Save button to save the file.

How to merge multiple CSV files into one Excel file using command prompt?

In order to merge multiple CSV files into one Excel file using Command Prompt, you can go through the aforementioned steps. No matter whether you use the standalone Command Prompt or Windows Terminal, the process is the same for both. For your information, you must put all the CSV files into one place before getting started with this guide.

How do I merge two csv files in Excel?

Although there is no direct option to merge two CSV files in Excel, you can use the aforementioned steps to get the job done. You need to combine them into one CSV file. Then, you can open it in Excel and save it as an Excel Workbook. For that, you do not need to use any command, and you can do that by going to File > Save As.

Hope this guide helped you to merge multiple CSV files into one Excel spreadsheet.

Ezoic

When he is not writing about Microsoft Windows or Office, Sudip likes to work with Photoshop. He has managed the front end and back end of many websites over the years. He is currently pursuing his Bachelor’s degree.

Skip to content

Как объединить .csv файлы?

При работе с интернет магазином, в котором можно импортировать товар используя файл Excel с расширением .csv, встала задача объединить 5-6 файлов в один. Это нужно было для удобства импорта, да и для удобства редактирования и сортировки всего товара.
В данной небольшой статье мы покажем наглядно как это сделать не прибегая к сторонним программам. Использовать будем только командную строку.
В качестве примера мы возьмем два файла с расширением .csv. Используя данное руководство можно таким же образом соединить хоть 20 файлов, суть не изменится.
Итак, мы имеем 2 (или несколько) CSV файлов:

2 прайс листа

Для примера: в левом 2118 строк, в правом 1973 строки:

2 прайс листа перед объединением

Теперь перейдем к «сборке» этих 2-х файлов в один:

  1. Поместите Ваши файлы CSV в одну папку. (для удобства проще всего сложить все файлы в корень какого либо диска, и назвать папку к примеру — hsp).
  2. Запускаем командную строку.
  3. Переходим в папку которую только что создали, вводим в командную строку: cd c:hsp
  4. Жмем Enter Командная строка
  5. Далее вводим: copy *.csv hsp.csv
    (hsp.csv – имя финального файла)
  6. Жмем Enter и видим что соединение прошло успешно:

Объединение csv с помощью командной строки

Получаем результат:

Соединенный файл csv с помощью командной строки

Внедрили бы уже такую фишку в редакторы CSV файлов, ну или в тот же Excel.

Ну вот и все! Ничего сложного!

Объединить CSV в Эксель с высокой скоростью и лучшим качеством

Разработано на базе программных решений от
aspose.com
а также
aspose.cloud

Выберите CSV файлы
или перетащите CSV файлы мышью

По вертикали

По горизонтали

Сетка

Использовать распознавание текста

Если вам нужно преобразовать CSV в отдельные файлы Эксель, используйте Conversion

Объединить CSV в Эксель Онлайн

Объедините файлы CSV в Эксель формат онлайн бесплатно. Наш веб-сервис предназначен для объединения нескольких файлов CSV в один Эксель файл. Используйте его для объединения CSV документов и слияния файлов CSV онлайн. Вы можете сделать это быстро и эффективно, без установки какого-либо ПО. Веб-сервис ‘Merge CSV to Эксель’ работает из любого веб-браузера в любой операционной системе.

Слияние CSV в Эксель Онлайн

Во многих случаях вам может понадобиться объединить CSV файлы. Например, вы можете объединить несколько файлов CSV в Эксель документ для печати или архивирования. Или вы можете создать один CSV из Эксель файлов и отправить объединенный результат своим коллегам. Чтобы выполнить эту работу, просто используйте наш бесплатный CSV to Эксель Merger, которое обработает набор файлов и объединит CSV файлы вместе за считанные секунды.

Объединить несколько CSV в Эксель онлайн

Это бесплатное решение для слияния CSV. Объедините файлы CSV в Эксель в нужном вам порядке. Мы гарантируем профессиональное качество результата Эксель.

Вопросы-Ответы

Как объединить несколько CSV файлов в один Эксель файл?


Воспользуйтесь нашим онлайн сервисом Merge CSV to Эксель. Он быстрый и простой в использовании. Бесплатно объедините несколько CSV в один Эксель.

Сколько CSV файлов я могу объединить одновременно?


Вы можете объединить до 10 CSV файлов одновременно.

Каков максимально допустимый размер CSV файла?


Размер каждого CSV файла не должен превышать 10 МБ.

Каковы способы получения объединенного результата в Эксель формате файла?


В конце операции слияния CSV вы получите ссылку для скачивания. Вы можете сразу скачать объединенный результат в Эксель формате файла или отправить ссылку на свой адрес электронной почты.

Как долго мои CSV файлы хранятся на ваших серверах?


Все пользовательские файлы хранятся на серверах Aspose в течение 24 часов. По истечении этого времени они будут автоматически удалены.

Можете ли вы гарантировать безопасность моих CSV файлов? Все безопасно?


Aspose уделяет первостепенное внимание безопасности и защите пользовательских данных. Будьте уверены, что ваши CSV файлы хранятся на безопасных серверах и защищены от любого несанкционированного доступа.

Почему объединение нескольких CSV файлов в один Эксель файл занимает немного больше времени, чем я ожидал?


Объединение нескольких CSV файлов в Эксель формат иногда может занимать много времени, поскольку оно требует повторного кодирования и повторного сжатия данных.

Иногда нам может понадобиться сортировать и объединять все связанные файлы CSV в один файл Excel, С использованием Команда CMD, мы можем достичь цели довольно быстро и легко. В отличие от сложного встроенного инструмента Power Query в Excel, метод команды CMD работает независимо от Excel и прост в использовании. В этом руководстве мы представим способ объединения нескольких файлов CSV в один файл Excel с помощью команды CMD.
doc объединить несколько CSV-файлов в один Excel-файл-cmd 1

Объедините несколько файлов CSV в один файл Excel с помощью команды CMD


Объедините несколько файлов CSV в один файл Excel с помощью команды CMD

Чтобы выполнить объединение нескольких связанных файлов CSVпожалуйста, сделайте следующее.

1. Переместите все файлы CSV, которые вы хотите объединить в одну книгу, в одну папку.
doc объединить несколько CSV-файлов в один Excel-файл-cmd 2

2. Найдите целевую папку в Проводнике и перейдите к Главная Вкладка, выберите Копировать путь.
doc объединить несколько CSV-файлов в один Excel-файл-cmd 3

Примечание: Копировать путь на ПроводникАвтора Главная вкладка доступна на Windows 10 и более поздние версии. Для пользователей младшие версии Windows, просто выберите папку, нажмите кнопку Shift ключ и рIGHT клик папку, затем нажмите Копировать как путь в списке меню.
doc объединить несколько CSV-файлов в один Excel-файл-cmd 4

3. К Поиск в Windows поле, введите CMD, А затем нажмите Откройте кнопку, чтобы запустить Командная строка приложение
doc объединить несколько CSV-файлов в один Excel-файл-cmd 5

4. в Командная строка окно, введите команду cd изменить активный каталог на папку CSV. Затем введите пространство, и нажмите Ctrl + V чтобы вставить путь к папке. Или вы можете перетащить папку прямо из проводника в окно командной строки.
doc объединить несколько CSV-файлов в один Excel-файл-cmd 6

5. нажмите Enter ключ для запуска команды. Затем в командной строке появится путь к папке, отражающий изменение активного каталога.
doc объединить несколько CSV-файлов в один Excel-файл-cmd 7

6. Продолжайте печатать скопировать *.csv слитые-csv-файлы.csv в командной строке. Затем нажмите Enter.
doc объединить несколько CSV-файлов в один Excel-файл-cmd 8

Имена всех CSV-файлов в целевой папке отображаются под выполняемой командой.

7. Вернитесь в папку, содержащую исходные файлы CSV. Вы увидите новый файл с именем merged-csv-files.csv.
doc объединить несколько CSV-файлов в один Excel-файл-cmd 9

Откройте файл результатов, вы увидите, что все данные в исходных файлах csv объединены в один файл Excel.


Прочие операции (статьи)

Как быстро вставить строку на основе текущей даты в Excel?
Предположим, есть лист, содержащий строку с датами, и теперь я хочу вставить строку справа от текущей даты, которая будет автоматически меняться при открытии книги каждый день. Есть ли трюк, который может решить эту проблему в Excel?

Как всегда вставлять пустую строку ниже, а не выше в Excel?
Как все мы знаем, при вставке пустой строки на лист пустая строка всегда будет вставлена ​​над выбранной строкой или ячейкой. Но иногда вам может потребоваться вставить строку под выбранной ячейкой или строкой. Как бы вы могли решить эту задачу в Excel?


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы и хранение данных; Разделить содержимое ячеек; Объедините повторяющиеся строки и сумму / среднее значение… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Избранные и быстро вставляйте формулы, Диапазоны, диаграммы и изображения; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Группировка сводной таблицы по номер недели, день недели и другое … Показать разблокированные, заблокированные ячейки разными цветами; Выделите ячейки, у которых есть формула / имя

вкладка kte 201905


Вкладка Office — предоставляет интерфейс с вкладками в Office и значительно упрощает вашу работу

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Комментарии (0)


Оценок пока нет. Оцените первым!

 

Добрый день.
В просторах интернета не смог найти макроса для что бы «сцепить» несколько файлов csv в один (нашел примеры с xls — очень крутой, запускаешь макрос и он обьденяет фалы которые ты сам выбреешь в проводнике записывает их друг под другом)
Возможно у Вас есть примеры подобного и для csv.

Изменено: Marat_Mamedov08.09.2016 10:16:54

 

Hugo

Пользователь

Сообщений: 23253
Регистрация: 22.12.2012

#2

08.09.2016 10:24:05

Код
copy /b *.csv all.csv

это командная строка.

 

Marat_Mamedov

Пользователь

Сообщений: 213
Регистрация: 16.02.2013

#3

08.09.2016 14:25:09

Нашел на просторах интернета (немого подкрутил вроде работает)
Может кому пригодиться

Код
Option Explicit

Sub SCV_and_Sheets1()
    Dim iBeginRange As Object, lCalc As Long, lCol As Long
    Dim oAwb As String, sCopyAddress As String, sSheetName As String
    Dim lLastrow As Long, lLastRowMyBook As Long, li As Long, iLastColumn As Integer
    Dim wsSh As Object, wsDataSheet As Object, bPolyBooks As Boolean, avFiles
    Dim wbAct As Workbook
    Dim bPasteValues As Boolean
    
    On Error Resume Next
    'Выбираем диапазон выборки с книг
    Set iBeginRange = Range("A1")
    'Application.InputBox("Выберите диапазон сбора данных." & vbCrLf & _
                                           "1. При выборе только одной ячейки данные будут собраны со всех листов начиная с этой ячейки. " & _
                                           vbCrLf & "2. При выделении нескольких ячеек данные будут собраны только с указанного диапазона всех листов.", Type:=8)
    'для указания диапазона без диалогового окна:
    'Set iBeginRange = Range("A1:A10") 'диапазон указывается нужный
    'Если диапазон не выбран - завершаем процедуру
    'If iBeginRange Is Nothing Then Exit Sub
    
    'Указываем имя листа
    'Допустимо указывать в имени листа символы подставки ? и *.
    'Если указать только * то данные будут собираться со всех листов
    'If sSheetName = "" Then sSheetName = "*"sSheetName = InputBox("Введите имя листа, с которого собирать данные(если не указан, то данные собираются со всех листов)", "Параметр")
    'Если имя листа не указано - данные будут собраны со вех листов
    'If sSheetName = "" Then sSheetName = "*"
    
    sSheetName = "*"
    On Error GoTo 0
    'Запрос - вставлять на результирующий лист все данные
    'или только значения ячеек (без формул и форматов)
    bPasteValues = (MsgBox("Вставлять только значения?", vbQuestion + vbYesNo, "Excel-VBA") = vbYes)
    'Запрос сбора данных с книг(если Нет - то сбор идет с активной книги)
    If MsgBox("Собрать данные с нескольких книг?", vbInformation + vbYesNo, "Excel-VBA") = vbYes Then
        avFiles = Application.GetOpenFilename("Excel files(*.csv*),*.csv*", , "Выбор файлов", , True)
        If VarType(avFiles) = vbBoolean Then Exit Sub
        bPolyBooks = True
        lCol = 1
    Else
        avFiles = Array(ThisWorkbook.FullName)
    End If
    'отключаем обновление экрана, автопересчет формул и отслеживание событий
    'для скорости выполнения кода и для избежания ошибок, если в книгах есть иные коды
    With Application
        lCalc = .Calculation
        .ScreenUpdating = False: .EnableEvents = False: .Calculation = xlManual
    End With
    'создаем новый лист в книге для сбора
    Set wsDataSheet = ActiveWorkbook.Sheets.Add(After:=Sheets(Sheets.Count))
    'если нужно сделать сбор данных на новый лист книги с кодом
    'Set wsDataSheet = ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))
    'цикл по книгам
    For li = LBound(avFiles) To UBound(avFiles)
        If bPolyBooks Then
            Set wbAct = Workbooks.Open(filename:=avFiles(li))
        Else
            Set wbAct = ThisWorkbook
        End If
        oAwb = wbAct.Name
        'цикл по листам
        For Each wsSh In wbAct.Sheets
            If wsSh.Name Like sSheetName Then
                'Если имя листа совпадает с именем листа, в который собираем данные
                'и сбор идет только с активной книги - то переходим к следующему листу
                If wsSh.Name = wsDataSheet.Name And bPolyBooks = False Then GoTo NEXT_
                With wsSh
                    Select Case iBeginRange.Count
                    Case 1 'собираем данные начиная с указанной ячейки и до конца данных
                        lLastrow = .Cells(1, 1).SpecialCells(xlLastCell).Row
                        iLastColumn = .Cells.SpecialCells(xlLastCell).Column
                        sCopyAddress = .Range(.Cells(iBeginRange.Row, iBeginRange.Column), .Cells(lLastrow, iLastColumn)).Address
                    Case Else 'собираем данные с фиксированного диапазона
                        sCopyAddress = iBeginRange.Address
                    End Select
                    lLastRowMyBook = wsDataSheet.Cells.SpecialCells(xlLastCell).Row + 1
                    'вставляем имя книги, с которой собраны данные
                    If lCol Then wsDataSheet.Cells(lLastRowMyBook, 1).Resize(Range(sCopyAddress).Rows.Count).Value = oAwb
                    If bPasteValues Then 'если вставляем только значения
                        .Range(sCopyAddress).Copy
                        wsDataSheet.Cells(lLastRowMyBook, 1).Offset(, lCol).PasteSpecial xlPasteValues
                    Else
                        .Range(sCopyAddress).Copy wsDataSheet.Cells(lLastRowMyBook, 1).Offset(, lCol)
                    End If
                End With
            End If
NEXT_:
        Next wsSh
        Application.DisplayAlerts = False
        If bPolyBooks Then wbAct.Close False
    Next li
    With Application
        .ScreenUpdating = True: .EnableEvents = True: .Calculation = lCalc
    End With

 Columns("A:A").Select
    Selection.Delete Shift:=xlToLeft
    Rows("1:1").Select
    Selection.Delete Shift:=xlUp
    Range("A1").Select
End Sub
 

Hugo

Пользователь

Сообщений: 23253
Регистрация: 22.12.2012

xlLastCell в общем случае может «косячить», но с csv должно быть нормально.
Чем отличается результат работы командной строки и этого монстра?

 

JayBhagavan

Пользователь

Сообщений: 11833
Регистрация: 17.01.2014

ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64

#5

08.09.2016 15:17:44

Цитата
Hugo написал: Чем отличается результат работы командной строки и этого монстра?

Думаю, что ничем (честно, не проверял), зато выглядит внушительней. :)

<#0>
Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori

 

The_Prist

Пользователь

Сообщений: 14182
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

Отличие могу только одно назвать — можно указать другую начальную ячейку, исключив шапку. Плюс этот код изначально был рассчитан на сбор данных с Excel-файлов и при сборе с CSV можно бяку с разделителями получить.

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

В моем случаи все работает на ура ))
Не смог отключить прописания в первой колонке название файла, и он вставляет со второй ячейки
но это дело все удаляю в конце и все хорошо (еще вставил отключение диалогового окна  буфера обмена)

 

The_Prist

Пользователь

Сообщений: 14182
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

#8

08.09.2016 17:23:40

Код мой, поэтому подсказать могу. Чтобы имя книги не вставлялось достаточно в этом куске кода:

Код
If MsgBox("Собрать данные с нескольких книг?", vbInformation + vbYesNo, "Excel-VBA") = vbYes Then
        avFiles = Application.GetOpenFilename("Excel files(*.csv*),*.csv*", , "Выбор файлов", , True)
        If VarType(avFiles) = vbBoolean Then Exit Sub
        bPolyBooks = True
        lCol = 1
    Else
        avFiles = Array(ThisWorkbook.FullName)
    End If

установить lCol = 0

Изменено: The_Prist08.09.2016 17:23:49

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

Спасибо!
Код просто супер!

 

Hugo

Пользователь

Сообщений: 23253
Регистрация: 22.12.2012

Код-то супер, но вот эксель не супер, часто норовит открывать csv так, как ему вздумается.
Тщательно проверьте результат на соответсвие исходным файлам, и обязательно в текстовом редакторе!

 

добрый день. можно узнать,при значении строки 13 — Set iBeginRange = Range(«A1:A400») —  в коде макроса из сообщения #3  данные из файлов CSV  переносятся на диапазоны, начинающиеся с каждой четырехсотой строки по счету. есть ли возможность учитывать не строки, а столбцы? например, переносить данные из каждого файла CSV в тринадцатые по счету столбцы.  

 

mazersw

Пользователь

Сообщений: 90
Регистрация: 06.09.2019

#12

09.10.2020 10:22:00

Цитата
Marat_Mamedov написал:
Нашел на просторах интернета (немого подкрутил вроде работает) Может кому пригодиться

Подскажите пожалуйста, код файлы объединяет.
Здесь все отлично.

Но у меня проблема, после выполнения макроса, нарушается разметка,

https://c2n.me/49nbYYj

Это можно как-то поправить?

Изменено: mazersw09.10.2020 10:22:15

 

Hugo

Пользователь

Сообщений: 23253
Регистрация: 22.12.2012

Это можно поправить командной строкой :)
Хотя по скрину не лечим, и что там нарушено — без понятия…
Но командная строка из первого ответа точно ничего не сломает.

 

mazersw

Пользователь

Сообщений: 90
Регистрация: 06.09.2019

#14

09.10.2020 10:37:20

Цитата
Hugo написал:
Это можно поправить командной строкой

Командной строкой не очень удобно

 

Дмитрий(The_Prist) Щербаков

Пользователь

Сообщений: 14182
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

#15

09.10.2020 12:10:08

Цитата
mazersw написал:
нарушается разметка,

писалось выше в теме, что в случае с CSV эта проблема может присутствовать. Чтобы исправить, попробуйте эту строку:

Код
Workbooks.Open(filename:=avFiles(li))

записать так:

Код
Workbooks.OpenText(filename:=avFiles(li), local:=True)

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

mazersw

Пользователь

Сообщений: 90
Регистрация: 06.09.2019

#16

09.10.2020 13:55:52

Цитата
Дмитрий(The_Prist) Щербаков написал:

Код
Workbooks.OpenText(filename:=avFiles(li), local:=True)

Спасибо работает!

Изменено: mazersw09.10.2020 13:56:08

 

mazersw

Пользователь

Сообщений: 90
Регистрация: 06.09.2019

#17

09.10.2020 14:06:24

После выполнения макроса, настроил автоматическое сохранение:

Код
  ActiveWorkbook.SaveAs FileFormat:=xlCSV, CreateBackup:=False, local:=True

Но не пойму как задать имя файлу, добавляю filename:=название.csv
Выходит ошибка.

 

Дмитрий(The_Prist) Щербаков

Пользователь

Сообщений: 14182
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

#18

09.10.2020 14:50:11

Цитата
mazersw написал:
не пойму как задать имя файлу

а зачем вообще это? И в каком месте Вы это нашли вообще?

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

mazersw

Пользователь

Сообщений: 90
Регистрация: 06.09.2019

#19

12.10.2020 09:59:24

Цитата
Дмитрий(The_Prist) Щербаков написал:
а зачем вообще это? И в каком месте Вы это нашли вообще?

Необходимо, чтобы после выполнения макроса слияния файл сразу сохранялся автоматом.
Макрос я записал, при сохранении файла.

 

mazersw

Пользователь

Сообщений: 90
Регистрация: 06.09.2019

#20

12.10.2020 11:25:02

Цитата
Marat_Mamedov написал:
Нашел на просторах интернета (немого подкрутил вроде работает) Может кому пригодиться

А можно ли как-то пропустить первый два шага вопроса?
Т.е. чтобы сразу можно было выбирать файлы

 

Дмитрий(The_Prist) Щербаков

Пользователь

Сообщений: 14182
Регистрация: 15.09.2012

Профессиональная разработка приложений для MS Office

#21

12.10.2020 11:31:55

Цитата
mazersw написал:
чтобы после выполнения макроса слияния файл сразу сохранялся автоматом

для этого как минимум необходимо, чтобы макрос находился не в той же книге, что и итоговая.

Цитата
mazersw написал:
А можно ли как-то пропустить первый два шага вопроса?

они и так там пропущены, это раз.
Два — раз так много лишнего проще вообще другой код использовать:

Как объединить несколько текстовых файлов в один?

замените там расширение на .csv и все. Правда, если первые строки надо исключить — придется немного пошаманить с переменной sTxt(перебрать циклом с только нужной строки).

Изменено: Дмитрий(The_Prist) Щербаков12.10.2020 11:34:03

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы…

 

mazersw

Пользователь

Сообщений: 90
Регистрация: 06.09.2019

 

Ливиан

Пользователь

Сообщений: 301
Регистрация: 28.04.2012

#23

17.06.2021 08:12:12

Цитата
Дмитрий(The_Prist) Щербаков написал:
Два — раз так много лишнего проще вообще другой код использовать:  Как объединить несколько текстовых файлов в один? замените там расширение на .csv и все.

Добрый день.
Подскажите, пож, объединяю большие csv файлы (11 000 столбцов и 250 строк в каждом, размер по +-5,63 мб). После 379 файла ошибка «Out of string  space». Думал может ошибка в самом 379 файле — удалил его — все по прежнему на 379 файле вылетает ошибка. В диспетчере задач объем памяти занятой этим процессом 4,2 гб (а у меня доступно 14)
Бьюсь второй день, пробовал чтобы сразу запись шла, а не в конце большой текст писался. пробовал Open … For Append As #1… но видимо руки корявые… не получается ничего

 

JayBhagavan

Пользователь

Сообщений: 11833
Регистрация: 17.01.2014

ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64

Ливиан, здравия. Через командную строку пробовали? Или Вам именно через ВБА надо?

<#0>
Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori

 

Ливиан

Пользователь

Сообщений: 301
Регистрация: 28.04.2012

мне бы макросом, я его встрою в другие макросы, будет непрерывная операция…  

 

JayBhagavan

Пользователь

Сообщений: 11833
Регистрация: 17.01.2014

ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64

Можете в макросе выполнить стандартную команду для копирования нескольких файлов в один, например, через функцию

Shell

.

<#0>
Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori

 

Ливиан

Пользователь

Сообщений: 301
Регистрация: 28.04.2012

#27

17.06.2021 08:57:59

Код
pachb = Application.CurrentProject.Path
path1 = pachb & "Отсюда"
path2 = pachb & "Сюда" 
Call Shell("cmd /c copy """ & path1 & "*.csv"" """ & path2 & "Объединенный.csv""")

что то вроде этого? пишут что с шапкой проблема… сейчас посижу покумекаю, может что получится. Спасибо за наводку… если не получится напишу еще

 

JayBhagavan

Пользователь

Сообщений: 11833
Регистрация: 17.01.2014

ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64

Ливиан, если не получится, то приложите пару исходных файлов-примеров с шапкой и один файл, что из их объединения должно получиться. (примеры сделайте обезличенными согласно правил форума)

<#0>
Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori

 

БМВ

Модератор

Сообщений: 21385
Регистрация: 28.12.2016

Excel 2013, 2016

#29

17.06.2021 09:09:07

Цитата
JayBhagavan написал:
через функцию  Shell .

+

Цитата
Ливиан написал:
я его встрою в другие макросы, будет непрерывная операция…  

и получим синхронную работу с возможно не предсказуемым результатом

Shell да

другой  

По вопросам из тем форума, личку не читаю.

Like this post? Please share to your friends:
  • Нескольких ячеек в одну текстовую строку в excel
  • Нескольким работать в одной книге excel
  • Несвязные диапазоны в excel это
  • Несвязанные диапазоны в excel что это такое
  • Несвязанные диапазоны в excel при копировании