Сохранить excel строки в файл

  • Советы по Excel
  • Функции Excel
  • Формулы Excel
  • Excel Диаграммы
  • Советы по словам
  • Советы по Outlook

Обычно мы можем легко сохранить рабочий лист в виде отдельного текстового файла, но как экспортировать и сохранить одну строку в виде текстовых файлов в Excel? И как экспортировать и сохранять каждую строку в виде отдельного текстового файла? Эта статья познакомит Kutools for Excelутилиты, чтобы решить их легко.

Экспорт/сохранение одной строки в виде текстового файла с помощью Kutools for Excel

Экспорт/сохранение каждой строки в виде текстовых файлов с Kutools for Excel

Простое массовое сохранение каждого листа как отдельного PDF / CSV / текстового файла или книги в Excel

Обычно мы можем сохранить активный рабочий лист в виде отдельного файла .pdf, .txt или .csv с помощью функции «Сохранить как». Но Kutools for ExcelАвтора Разделить книгу Утилита поможет вам легко сохранить каждую книгу как отдельный файл PDF / CSV / Text или книгу в Excel.

текст книги рекламного разделения


Kutools for ExcelАвтора Диапазон экспорта в файл утилита может сохранять диапазон в виде текстового файла, файла csv или html и т. д. Таким образом, мы можем применить эту утилиту для легкого экспорта всей строки в виде текстового файла в Excel.

1. Выделите всю строку, которую вы сохраните как текстовый файл, и нажмите кнопку Кутулс Плюс > Импорт Экспорт > Диапазон экспорта в файл. Смотрите скриншот ниже:

2. В открывшемся диалоговом окне «Диапазон экспорта в файл» установите флажок Текст Юникода вариант, а затем нажмите кнопку Обзор за Сохранить каталог пунктом.

3. Во всплывающем диалоговом окне «Выбор каталога для экспорта файла» выберите папку, в которую вы сохраните текстовый файл, и нажмите кнопку OK кнопку.

4. Нажмите Ok кнопку, когда он вернется в Диапазон экспорта в файл диалоговое окно.

Ноты:

1. Если вы хотите открыть текстовый файл после успешного сохранения, вы можете проверить Открыть файл после экспорта в диалоговом окне «Экспортировать диапазон в файл».

2. Если вам нужно сохранить несколько строк как отдельные текстовые файлы, вы должны повторить эти шаги много раз, чтобы сохранить каждую строку как отдельный текстовый файл. Чтобы легко сохранить каждую строку в виде отдельного текстового файла, просмотрите следующий метод.

Kutools for Excel — Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия 30-день, кредитная карта не требуется! Get It Now


Собственно, если у вас есть Kutools for Excel установлен, мы можем разделить каждую строку на новый лист по ее Разделить данные утилиту, а затем примените ее Разделить книгу утилита для сохранения этих листов в виде отдельных текстовых файлов в Excel.

1. Выберите диапазон, в котором вы сохраните каждую строку как текстовый файл, и щелкните значок Кутулс Плюс > Разделить данные.

2. В диалоговом окне «Открытие разделенных данных на несколько листов» установите флажок Фиксированные строки вариант и тип 1 в поле ниже укажите правило в поле Правила раскрывающееся меню и щелкните Ok кнопку.

 

Теперь каждая строка разделена на новый лист новой книги со строкой заголовка. Если вам не нужна строка заголовка на новых листах, снимите флажок У моих данных есть заголовки опцию.

3. На новом листе щелкните значок Кутулс Плюс > Workbook > Разделить книгу.

4. В открывшемся диалоговом окне «Разделить книгу» установите флажок Сохранить как выберите, выберите Текст в Юникоде (* .txt) из раскрывающегося списка ниже и нажмите кнопку Трещина кнопку.

doc экспортировать каждую строку как текст 01

Ноты:

(1) Если вам не нужно сохранять скрытые рабочие листы в виде текстовых файлов, проверьте Пропустить скрытые листы опцию.

(2) Если вам не нужно сохранять пустые рабочие листы в виде текстовых файлов, проверьте Пропускать пустые листы опцию.

5. Укажите папку, в которую вы будете сохранять текстовые файлы в папке Выбор папки диалоговое окно и щелкните Выбор папки кнопку.

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

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

Kutools for Excel — Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная пробная версия 30-день, кредитная карта не требуется! Get It Now




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

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

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

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

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

офисный дно

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


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

Подписывайтесь на Нас

Copyright © 2009 —

www.extendoffice.ком. | Все права защищены. Питаться от ExtendOffice, | Карта сайта

Microsoft и логотип Office являются товарными знаками или зарегистрированными товарными знаками Microsoft Corporation в США и / или других странах.

Защищено Sectigo SSL

Сохранить каждую строку как отдельный файл

Автор scrackan, 02.02.2012, 23:07

« назад — далее »

Имеется экселевская таблица. Прикладываю образец (lines-file.xls).

Собственно, в файл можно не заглядывать — табличка там очень простая:
Ляляля1   Ляляля2   Ляляля3   Ляляля4
Хрюхрю5   Хрюхрю6   Хрюхрю7   Хрюхрю8
Кококо9   Кококо10   Кококо11   Кококо12

Требуется каждую строку сохранить как отдельный текстовый файл с каждой ячейкой на отдельной строке.

Т.е. конкретно в этом случае должно получиться 3 файла:

Ляляля1
Ляляля2
Ляляля3
Ляляля4

Хрюхрю5
Хрюхрю6
Хрюхрю7
Хрюхрю8

Кококо9
Кококо10
Кококо11
Кококо12

Видимо, для начала мою таблицу следует транспонировать, но как потом автоматически превратить каждый столбец в отдельный текстовый файл — я всё равно не знаю. Подскажите, пожалуйста.

Имена файлов не принципиальны, но лучше, конечно, чтобы они подчинялись какой-нибудь системе (порядковые номера, например).


Пробуйте. Транспонирование не используется. Файлы создаются в той же папке.



Цитата: exceleved от 03.02.2012, 10:28
Пробуйте. Транспонирование не используется. Файлы создаются в той же папке.

А можно ли модифицировать макрос? Чтобы текстовые файлы сохранялись не в кодировке ANSI, а в UTF-8.

Или надо прибегать к сторонней софтине, которая пакетно преобразует все файлы в другую кодировку?



exceleved, спасибо большое!


Цитата: exceleved от 03.02.2012, 12:31
Пробуйте.

Обнаружил небольшой баг. Если строка таблицы не содержит ни одного кириллического символа, соответствующий файл сохранится в ANSI. Это можно исправить? Т.е. чтобы всегда сохранялось в UTF.




  • Профессиональные приемы работы в Microsoft Excel

  • Обмен опытом

  • Microsoft Excel

  • Сохранить каждую строку как отдельный файл

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

Могут возникать ситуации, при которых необходимо отправить кому-либо определенную информацию, например, небольшую часть большого отчета и сделать это таким образом, чтобы не посвящать получателя в лишние детали – расчеты, итоги, показатели и так далее.

Обычно, у пользователей не возникает проблем с тем, чтобы скопировать диапазон ячеек и вставить либо в отдельную рабочую книгу при помощи специальной вставки значений, чтобы заменить формулы результатами вычислений, либо в документ приложения Word. Даже такая простая операция требует от пользователя выполнения целого ряда определенных действий: скопировать диапазон, создать новый файл в нужном формате, вставить диапазон, сохранить новый файл. Если возникает необходимость проделывать такую операцию по несколько раз в день, стоит задуматься об автоматизации этого процесса.

Экспорт диапазона ячеек в файл

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

diapazon v fajl

Надстройка – это дополнительные функциональные возможности для приложения. Чтобы воспользоваться такими возможностями, надстройку необходимо установить. При этом, как правило, создается новая вкладка на ленте Excel и создается кнопка вызова диалогового окна.

При вызове диалогового окна все поля автоматически заполняются значениями, а пользователю оставляется возможность внести в них свои изменения, после чего запустить программу.

В поле «Выбор диапазона» автоматически подставляется адрес выделенного на листе диапазона ячеек, либо несколько адресов через знак-разделитель «;» (точка с запятой), если выделено несколько диапазонов.

В поле «Выбор папки» автоматически подставляется путь к папке, в которой находится рабочая книга с копируемым диапазоном. При помощи кнопки рядом с полем можно выбрать любую другую папку.

В поле «Выбор имени» автоматически подтягивается имя активной рабочей книги, то есть той, которая открыта в момент вызова диалогового окна. Имя также можно изменить на любое другое.

Пользователю остается только выбрать формат файла, в который будет вставлен выделенный диапазон и запустить программу.

Как сохранить выделенные диапазоны изображениями?

Обычно, делается скриншот, то есть снимается изображение с экрана кнопкой «Print Screen» на клавиатуре, после этого изображение из буфера обмена вставляется в графический редактор и уже там вырезается нужный фрагмент изображения. При помощи надстройки всего этого можно не делать, достаточно выделить диапазон ячеек, выбрать формат «JPG» и запустить программу. Изображение выделенного диапазона будет сохранено в заданную папку с заданным именем в формате JPG.

Как сохранить выделенный диапазон отдельной книгой?

Исходный диапазон ячеек может быть определенным образом отформатирован, иметь определенные шрифты, ширины столбцов и так далее, кроме этого в ячейках диапазона могут содержаться формулы со ссылками на ячейки в других листах и других рабочих книгах. Чтобы скопировать такой диапазон в другую книгу, необходимо проделать ряд операций: скопировать диапазон, вставить диапазон, для вставки ширин столбцов вставить диапазон еще раз при помощи специальной вставки, для переноса форматов вставить диапазон еще раз при помощи специальной вставки форматов, заменить формулы значениями ячеек. При помощи надстройки все эти операции выполняются автоматически.

Как сохранить диапазон документом Word?

Выделенный диапазон можно сохранить документом Word, при этом, при копировании и вставки диапазона из Excel в Word, таблица может не поместиться на странице по ширине. В надстройке для таких случаев предусмотрено автоматическое изменение ориентации страницы с книжной на альбомную. Разворот страницы тоже не всегда может помочь, поэтому после вставки диапазона в документ Word необходимо убедиться полностью ли помещается вставленная таблица в размеры страницы.

Как сохранить диапазон в pdf-файл

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

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

вот код макроса, копия на др лист

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

вот код макроса, копия на др лист

Сообщение Добрый день, есть список, его сотрудники пополняют и в конце рабочего дня они выделяют все записи за день и нажимаю кнопку, запись выделенного (на нем макрос)
суть макроса копирование выделенной области на др лист (уже сделал) и копирование выделенных данных в отдельный файл и его пополнение (не сделал) и хочу еще отчищать раб область (лист куда сотрудники в течение дня вводят записи). Очень нужна ваша помощь Макросы эксель только начал изучать.

вот код макроса, копия на др лист

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

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

хотел объединить мое копирование в лист и ваше в файл не получилось

Sub ЗаписьВОбщийЖурнал()

‘ Макрос2 Макрос
‘ Макрос записан 15.10.2007 (VladimirovAV)

Selection.Copy
Sheets(«База данных»).Select
Range(«A1″).Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
ActiveWorkbook.Save
Sheets(«Исходные данные»).Select
Selection.ClearContents
Range(«A3″).Select

If Not TypeName(Selection) = «Range» Then Exit Sub
Dim lr&, wb As Workbook, lb As Workbook
With Application: .ScreenUpdating = False: .DisplayAlerts = False: .EnableEvents = False: End With
Set wb = GetObject(«c:test.xls») ‘путь к файлу-накопителю
Set lb = ThisWorkbook
lr = wb.Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row
Selection.EntireRow.Copy wb.Sheets(1).Cells(lr + 1, 1)
wb.Close (True) ‘ закрыть с сохранением
With Application: .EnableEvents = True: .DisplayAlerts = True: .ScreenUpdating = True: End With
Set wb = Nothing: Set lb = Nothing

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

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

хотел объединить мое копирование в лист и ваше в файл не получилось

Sub ЗаписьВОбщийЖурнал()

‘ Макрос2 Макрос
‘ Макрос записан 15.10.2007 (VladimirovAV)

Selection.Copy
Sheets(«База данных»).Select
Range(«A1″).Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
ActiveWorkbook.Save
Sheets(«Исходные данные»).Select
Selection.ClearContents
Range(«A3″).Select

If Not TypeName(Selection) = «Range» Then Exit Sub
Dim lr&, wb As Workbook, lb As Workbook
With Application: .ScreenUpdating = False: .DisplayAlerts = False: .EnableEvents = False: End With
Set wb = GetObject(«c:test.xls») ‘путь к файлу-накопителю
Set lb = ThisWorkbook
lr = wb.Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row
Selection.EntireRow.Copy wb.Sheets(1).Cells(lr + 1, 1)
wb.Close (True) ‘ закрыть с сохранением
With Application: .EnableEvents = True: .DisplayAlerts = True: .ScreenUpdating = True: End With
Set wb = Nothing: Set lb = Nothing

Сообщение понял вас, значит так по скрипту вашему

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

хотел объединить мое копирование в лист и ваше в файл не получилось

Sub ЗаписьВОбщийЖурнал()

‘ Макрос2 Макрос
‘ Макрос записан 15.10.2007 (VladimirovAV)

Selection.Copy
Sheets(«База данных»).Select
Range(«A1″).Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
ActiveWorkbook.Save
Sheets(«Исходные данные»).Select
Selection.ClearContents
Range(«A3″).Select

If Not TypeName(Selection) = «Range» Then Exit Sub
Dim lr&, wb As Workbook, lb As Workbook
With Application: .ScreenUpdating = False: .DisplayAlerts = False: .EnableEvents = False: End With
Set wb = GetObject(«c:test.xls») ‘путь к файлу-накопителю
Set lb = ThisWorkbook
lr = wb.Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row
Selection.EntireRow.Copy wb.Sheets(1).Cells(lr + 1, 1)
wb.Close (True) ‘ закрыть с сохранением
With Application: .EnableEvents = True: .DisplayAlerts = True: .ScreenUpdating = True: End With
Set wb = Nothing: Set lb = Nothing

отказывается копировать Автор — aydar
Дата добавления — 22.03.2013 в 13:43

убрал, не получилось

убрал, не получилось

Сообщение убрал, не получилось

Sub ЗаписьВОбщийЖурнал()

‘ Макрос2 Макрос

Selection.Copy
Sheets(«База данных»).Select
Range(«A1»).Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
ActiveWorkbook.Save
Sheets(«Исходные данные»).Select
Selection.ClearContents
Range(«A3»).Select

‘это часть работает замечательно

‘ это копирования выделения в другой файл
If Not TypeName(Selection) = «Range» Then Exit Sub
Dim lr&, wb As Workbook, lb As Workbook
With Application: .ScreenUpdating = False: .DisplayAlerts = False: .EnableEvents = False: End With
Set wb = GetObject(«c:test.xls») ‘путь к файлу-накопителю
Set lb = ThisWorkbook
lr = wb.Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row
Selection.Copy wb.Sheets(1).Cells(lr + 1, 1)
wb.Close (True) ‘ закрыть с сохранением
With Application: .EnableEvents = True: .DisplayAlerts = True: .ScreenUpdating = True: End With
Set wb = Nothing: Set lb = Nothing

копирование в другой файл работает криво, копируется вся строка а не выделение,иногда не все данные копируются

Sub ЗаписьВОбщийЖурнал()

‘ Макрос2 Макрос

Selection.Copy
Sheets(«База данных»).Select
Range(«A1»).Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
ActiveWorkbook.Save
Sheets(«Исходные данные»).Select
Selection.ClearContents
Range(«A3»).Select

‘это часть работает замечательно

‘ это копирования выделения в другой файл
If Not TypeName(Selection) = «Range» Then Exit Sub
Dim lr&, wb As Workbook, lb As Workbook
With Application: .ScreenUpdating = False: .DisplayAlerts = False: .EnableEvents = False: End With
Set wb = GetObject(«c:test.xls») ‘путь к файлу-накопителю
Set lb = ThisWorkbook
lr = wb.Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row
Selection.Copy wb.Sheets(1).Cells(lr + 1, 1)
wb.Close (True) ‘ закрыть с сохранением
With Application: .EnableEvents = True: .DisplayAlerts = True: .ScreenUpdating = True: End With
Set wb = Nothing: Set lb = Nothing

копирование в другой файл работает криво, копируется вся строка а не выделение,иногда не все данные копируются aydar

Sub ЗаписьВОбщийЖурнал()

‘ Макрос2 Макрос

Selection.Copy
Sheets(«База данных»).Select
Range(«A1»).Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
ActiveSheet.Paste
ActiveWorkbook.Save
Sheets(«Исходные данные»).Select
Selection.ClearContents
Range(«A3»).Select

‘это часть работает замечательно

‘ это копирования выделения в другой файл
If Not TypeName(Selection) = «Range» Then Exit Sub
Dim lr&, wb As Workbook, lb As Workbook
With Application: .ScreenUpdating = False: .DisplayAlerts = False: .EnableEvents = False: End With
Set wb = GetObject(«c:test.xls») ‘путь к файлу-накопителю
Set lb = ThisWorkbook
lr = wb.Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row
Selection.Copy wb.Sheets(1).Cells(lr + 1, 1)
wb.Close (True) ‘ закрыть с сохранением
With Application: .EnableEvents = True: .DisplayAlerts = True: .ScreenUpdating = True: End With
Set wb = Nothing: Set lb = Nothing

копирование в другой файл работает криво, копируется вся строка а не выделение,иногда не все данные копируются Автор — aydar
Дата добавления — 26.03.2013 в 11:36

Ну вот, зарегистрировались, теперь можно и попытаться разобраться.

У меня на моих файлах работает. Но у меня макрос уже «допиленный»
Проблема может быть в структуре данных.
Например, в приведённом Вами фрагменте кода
lr = wb.Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row определяет ряд с первой пустой ячейкой В ПЕРВОМ СТОЛБЦЕ.
Поэтому если Вы копируете диапазон, где в ячейках первого столбца есть пустые, то lr определится не правильно и следующая запись наложится на предыдущую. Об этом, к стати, всё расписано в том топике, откуда Вы брали фрагмент. Вы дальше первого топика читали? Ну, например, ЭТО.

Приложите пример. Тогда кто-нибудь попробует разобраться почему у Вас не работает. (Я не смогу — на работе завал, да ещё и сисадмины закрыли скачивание файлов с макросами, собаки!)

Ну вот, зарегистрировались, теперь можно и попытаться разобраться.

У меня на моих файлах работает. Но у меня макрос уже «допиленный»
Проблема может быть в структуре данных.
Например, в приведённом Вами фрагменте кода
lr = wb.Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row определяет ряд с первой пустой ячейкой В ПЕРВОМ СТОЛБЦЕ.
Поэтому если Вы копируете диапазон, где в ячейках первого столбца есть пустые, то lr определится не правильно и следующая запись наложится на предыдущую. Об этом, к стати, всё расписано в том топике, откуда Вы брали фрагмент. Вы дальше первого топика читали? Ну, например, ЭТО.

Приложите пример. Тогда кто-нибудь попробует разобраться почему у Вас не работает. (Я не смогу — на работе завал, да ещё и сисадмины закрыли скачивание файлов с макросами, собаки!) Alex_ST

Сообщение Ну вот, зарегистрировались, теперь можно и попытаться разобраться.

У меня на моих файлах работает. Но у меня макрос уже «допиленный»
Проблема может быть в структуре данных.
Например, в приведённом Вами фрагменте кода
lr = wb.Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row определяет ряд с первой пустой ячейкой В ПЕРВОМ СТОЛБЦЕ.
Поэтому если Вы копируете диапазон, где в ячейках первого столбца есть пустые, то lr определится не правильно и следующая запись наложится на предыдущую. Об этом, к стати, всё расписано в том топике, откуда Вы брали фрагмент. Вы дальше первого топика читали? Ну, например, ЭТО.

Приложите пример. Тогда кто-нибудь попробует разобраться почему у Вас не работает. (Я не смогу — на работе завал, да ещё и сисадмины закрыли скачивание файлов с макросами, собаки!) Автор — Alex_ST
Дата добавления — 26.03.2013 в 12:39

Как файл из Эксель сохранить в ПДФ: 4 основных способа

Способов, как сохранить Эксель в ПДФ, так много, что воспользоваться ими может и владелец компьютера с современным программным обеспечением, и пользователь старого ПК, на котором даже нет пакета MS Office.

Как файл из Эксель сохранить в ПДФ: 4 основных способа

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

Для упрощения документооборота и ускорения их отправки по электронной почте таблицы Эксель можно сохранить в формате PDF. Полученный документ не только уменьшится в размере, но и будет одинаково отображаться в разных программах и на всех устройствах, включая телефоны.

Конвертация в программе Excel

Разработчики офисного пакета приложений MS Office постоянно добавляют в него новые функции. И в современных версиях, начиная с 2010 года, с помощью редактора Excel можно сразу переводить документы в множество различных форматов, без применения дополнительных приложений.

Добрый вечер уважаемые.
Есть задача, для меня сложная. т.к. я далек от Microsoft Excel как Арктика от Антарктиды.
В файле две колонки, «А» и «В». В колонке «А» название товара, в колонке «В» его описание ~600 символов, всего 2700 строк в таблице. Одна строка на товар.  Не могли бы вы подсказать готовый макрос, чтобы сохранить каждую строку в папку, в отдельный .txt  файл. путь к папке: C:Liga. Т.е. в этой папке у меня должно оказаться 2700 .txt файлов, с названием товара в качестве имени файла и с описанием товара внутри файла.

Ну вот, объяснил вроде бы подробно. Понимаю, что для знающего человека это «первый класс, вторая четверть», но я этого делать не умею, надеюсь на вашу помощь.

Заранее спасибо!

Изменено: StoreKeeper28.03.2015 22:45:43

Запись каждой строки в отдельный файл

arudomanov

Дата: Суббота, 16.07.2016, 09:12 |
Сообщение № 1

Группа: Пользователи

Ранг: Прохожий

Сообщений: 1


Репутация:

0

±

Замечаний:
0% ±


Excel 2007

Все привет. Есть задача сохранить каждую строчку в отдельный файл тхт, вроде нашел решение, но необходимо как то его доработать

[vba]

Код

Sub artlayers()
Dim c As Range, d As Range
For Each c In ActiveSheet.UsedRange.Columns(1).SpecialCells(xlCellTypeConstants)
Open ThisWorkbook.Path & «» & c & «.html» For Output As #1
For Each d In Range(c, Cells(c.Row, Columns.Count).End(xlToLeft))
Print #1, d
Next
Close #1
Next
End Sub

[/vba]

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

Заранее благодарен за подсказки.

 

Ответить

Rioran

Дата: Суббота, 16.07.2016, 12:35 |
Сообщение № 2

Группа: Авторы

Ранг: Ветеран

Сообщений: 903


Репутация:

290

±

Замечаний:
0% ±


Excel 2013

arudomanov, здравствуйте.

Предлагаю попробовать так:

[vba]

Код

Sub Rio_ArtLayers()
    Dim c As Range, d As Range, S$, xSeparator$
    xSeparator = » // » ‘ Чем будут разделены данные одной строки
    For Each c In ActiveSheet.UsedRange.Columns(1).SpecialCells(xlCellTypeConstants)
        Open ThisWorkbook.Path & «» & c & «.html» For Output As #1
        S = «»
        ‘ c.Offset(0, 1) — позволяет начать перебор ячеек для записи не с первой колонки
        For Each d In Range(c.Offset(0, 1), Cells(c.Row, Columns.Count).End(xlToLeft))
            S = S & xSeparator & d.Value
        Next
        ‘ Замена переноса строки на пробел. Если не работает — узнать, какой перенос строки используется вместо Chr(10)
        S = Replace(S, Chr(10), » «)
        S = Mid(S, Len(xSeparator) + 1) ‘ Обрезаем лишний разделитель в начале
        Print #1, S
        Close #1
    Next
End Sub

[/vba]
Без Ваших файлов сложно протестировать, так что ждём Вашей обратной связи =)


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279

Сообщение отредактировал RioranСуббота, 16.07.2016, 12:35

 

Ответить

alyonka1

Дата: Вторник, 02.08.2016, 16:55 |
Сообщение № 3

Группа: Пользователи

Ранг: Прохожий

Сообщений: 4


Репутация:

0

±

Замечаний:
0% ±


Excel 2013

Rioran, спасибо Вам за код. Я вместо автора проверила все отлично работает:)
Но никак не могу понять как сохранить перенос строк внутри ячейки в новых созданных файлах, т.е. когда внутри каждой ячейки есть записи с новой строки и чтобы они также отображались с новой строки в файле.
Прикрепила пример файла.

 

Ответить

Матраскин

Дата: Вторник, 02.08.2016, 17:17 |
Сообщение № 4

Группа: Друзья

Ранг: Обитатель

Сообщений: 375


Репутация:

81

±

Замечаний:
0% ±


20xx

alyonka1,
[vba]

Код

S = Replace(S, Chr(10), «<br>»)

[/vba]

переносы меняем на перенос ^^,)


в интернете опять кто-то не прав

 

Ответить

alyonka1

Дата: Вторник, 02.08.2016, 17:26 |
Сообщение № 5

Группа: Пользователи

Ранг: Прохожий

Сообщений: 4


Репутация:

0

±

Замечаний:
0% ±


Excel 2013

Матраскин, я забыла указать, что мне нужно не для Html, а просто обычный txt файл. <br> — это же перенос строки в html?

 

Ответить

Матраскин

Дата: Вторник, 02.08.2016, 17:34 |
Сообщение № 6

Группа: Друзья

Ранг: Обитатель

Сообщений: 375


Репутация:

81

±

Замечаний:
0% ±


20xx

alyonka1, да, именно так. Для текстовых «n» пойдёт


в интернете опять кто-то не прав

 

Ответить

alyonka1

Дата: Вторник, 02.08.2016, 17:40 |
Сообщение № 7

Группа: Пользователи

Ранг: Прохожий

Сообщений: 4


Репутация:

0

±

Замечаний:
0% ±


Excel 2013

Матраскин, странно, но у меня после выполнения макроса получается в файле такое: Строка 1_1nСтрока 1_2nСтрока 1_3nСтрока 1_4nСтрока 1_5, а не

Строка 1_1
Строка 1_2
Строка 1_3
Строка 1_4
Строка 1_5

 

Ответить

Матраскин

Дата: Вторник, 02.08.2016, 17:42 |
Сообщение № 8

Группа: Друзья

Ранг: Обитатель

Сообщений: 375


Репутация:

81

±

Замечаний:
0% ±


20xx

alyonka1, я не проверил, тут другие правила

[vba]

Код

S = Replace(S, Chr(10), vbCrLf)

[/vba]


в интернете опять кто-то не прав

 

Ответить

Manyasha

Дата: Вторник, 02.08.2016, 17:43 |
Сообщение № 9

Группа: Модераторы

Ранг: Старожил

Сообщений: 2198


Репутация:

898

±

Замечаний:
0% ±


Excel 2010, 2016

alyonka1, так попробуйте
[vba]

Код

S = Replace(S, Chr(10), vbcrlf)

[/vba]


ЯД: 410013299366744 WM: R193491431804

 

Ответить

Матраскин

Дата: Вторник, 02.08.2016, 17:45 |
Сообщение № 10

Группа: Друзья

Ранг: Обитатель

Сообщений: 375


Репутация:

81

±

Замечаний:
0% ±


20xx

Manyasha,


в интернете опять кто-то не прав

 

Ответить

alyonka1

Дата: Вторник, 02.08.2016, 17:53 |
Сообщение № 11

Группа: Пользователи

Ранг: Прохожий

Сообщений: 4


Репутация:

0

±

Замечаний:
0% ±


Excel 2013

Manyasha, Матраскин, Это просто мечта научиться так легко и быстро решать такие «головоломки» (лично для меня).
Огромнейшее Вам спасибо за помощь!

P.S. Плюсик смогу поставить только через 24 часа.

 

Ответить

naqrV

Дата: Понедельник, 27.03.2017, 18:51 |
Сообщение № 12

Группа: Пользователи

Ранг: Прохожий

Сообщений: 1


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

здравствуйте, искал решение, наткнулся на эту тему, спасибо, полезно!
Подскажите, а как доработать скрипт, чтобы он брал имена файлов из столбцов слева при сохранении?
колонки в файле выглядят так:

filename_1 text_1 filename_2 text_2 filename_3 text_4 filename_5 text_6 filename_7 text_7
может ли он сканировать наличие справа дополнительных колонок и в случае обнаружения также сохранять?

может, кто знает? спасибо

 

Ответить

Понравилась статья? Поделить с друзьями:
  • Сохранить excel свои разделители
  • Сохранить excel как через vba
  • Сохранить excel в txt с разделителем запятая
  • Сохранить excel в txt макрос
  • Сохраните документ microsoft excel под любым именем в нужную директорию