Запись данных в текстовый файл с помощью Excel VBA - Easy Excel Macros

Содержание

Ниже мы рассмотрим программу на Excel VBA тот записывает диапазон Excel в текстовый файл CSV (значения, разделенные запятыми).

Ситуация:

Поместите командную кнопку на свой рабочий лист и добавьте следующие строки кода:

1. Сначала мы объявляем переменную с именем myFile типа String, объект с именем rng типа Range, переменную с именем cellValue типа Variant, переменную с именем i типа Integer и переменную с именем j типа Integer. Здесь мы используем переменную Variant, потому что переменная Variant может содержать любой тип значения.

Dim myFile As String, rng As Range, cellValue As Variant, i As Integer, j As Integer

2. Нам нужно указать полный путь и имя файла.

myFile = Application.DefaultFilePath & "\ sales.csv"

Примечание. Свойство DefaultFilePath возвращает путь к файлу по умолчанию. Чтобы изменить расположение файла по умолчанию, на вкладке Файл щелкните Параметры, Сохранить.

3. Мы инициализируем объект диапазона rng с выбранным диапазоном.

Установить rng = Выбор

4. Добавьте следующую строку кода:

Открыть myFile для вывода как # 1

Примечание: этот оператор позволяет записывать файл. Мы можем ссылаться на файл как на №1 в остальной части нашего кода. Если файл уже существует, он будет удален и будет создан новый файл с тем же именем.

5. Начните двойную петлю.

Для i = 1 To rng.Rows.Count
Для j = 1 To rng.Columns.Count

Примечание. Rng.Rows.Count возвращает количество строк (17 в этом примере), а rng.Columns.Count возвращает количество столбцов (4 в этом примере).

6. Excel VBA записывает значение ячейки в переменную cellValue.

cellValue = rng.Cells (i, j) .Value

7. Добавьте следующие строки кода, чтобы записать значение cellValue в текстовый файл.

Если j = rng.Columns.Count, то
Напишите # 1, cellValue
Еще
Напишите # 1, cellValue,
Конец, если

Объяснение: из-за оператора If Then Else Excel VBA начинает новую строку (Write # 1, cellValue) только тогда, когда j равно количеству столбцов (последнее значение в строке). Чтобы разделить значения запятой, используйте Write # 1, cellValue, (с запятой).

8. Не забудьте закрыть обе петли.

 Следующий j
Далее я

9. Закройте файл.

Закрыть # 1

10. Выберите данные и нажмите кнопку команды на листе.

Результат:

Вы поможете развитию сайта, поделившись страницей с друзьями

wave wave wave wave wave