Данные таблицы в txt файл
Добрый день, читатели блога!
Сегодня мы поговорим о выгрузке данных таблицы Excel в текстовый файл.
Можно сразу возразить - такая функция есть в программе! Да, она есть, но выгрузка, иногда происходит не в той кодировке, я не знаю в какой ячейке содержались данные, мне приходится переименовывать и указывать место для нового файла.
Постараемся избавиться от этих сопутствующих шагов и договоримся вот о чём:
- сохранять будем в той же папке, что и таблица;
- имя текстового файла будет таким же.
Откроем таблицу с данными и, как обычно, перейдём на вкладку "Разработчик".
Не отклоняемся от привычной очерёдности вставки модуля:
- Вкладка "Разработчик", блок кнопок "Код", кнопка "Visual Basic";
- Далее "Insert" - > "Module".
Как только модуль появится вставим туда следующий макрос.
Sub SaveAsText()
Dim cell As Range
' Открываем файл для сохранения (имя файла = имя рабочей книги, но отличается расширением - TXT)
Open ThisWorkbook.Path & "\" & ThisWorkbook.Name & ".txt" For Output As #1
' Запись содержимого заполненных ячеек таблицы в файл
For Each cell In ActiveSheet.UsedRange
If Not IsEmpty(cell) Then
Print #1, cell.Address, cell.Formula
End If
Next
' Не забыть закрыть файл
Close #1
End Sub
Необходимые пояснения:
- Open ThisWorkbook.Path & "\" & ThisWorkbook.Name & ".txt" For Output As #1 - объявляем наш файл #1, сохраняем его в том же месте где и книга, имя текстового файла будем таким же как и у книги (с добавлением txt);
- For Each cell In ActiveSheet.UsedRange If Not IsEmpty(cell) Then - для каждой ячейки на активном листе (если она не пуста) будет применено следующее действие;
- Print #1, cell.Address, cell.Formula - выводим данные в текстовый файл вместе с адресом ячейки;
- Close #1 - закрываем книгу.
Вызываем макрос (Alt+F8), выполняем его (в появившемся окне жмём кнопку "Выполнить").
Визуально ничего не происходит, но если закрыть таблицу и вернуться в папку где она сохранена, мы увидим следующую картину.
Всё согласно условиям выгрузки. При открытии текстового файла также будет видна вся информация о данных таблицы - где, что находится.
Если остались вопросы - посмотрите наше новое видео (ССЫЛКА НА ФАЙЛ С МАКРОСОМ).