/ / Запис даних у текстовий файл за допомогою Excel VBA

Запис даних у текстовий файл за допомогою Excel VBA

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

Ситуація:

Запис даних у текстовий файл у Excel VBA

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

1 По-перше, ми оголошуємо змінну, яка називається myFile типу String, об'єкт, який називається rng типу Range, змінною, яка називається cellValue типу Variant, змінною, яка називається i типу Integer, і змінною, яка називається j типу Integer. Тут ми використовуємо змінну Варіант, оскільки змінна 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 з вибраним діапазоном.

Set rng = Selection

4. Додайте наступну кодову лінію:

Open myFile For Output As #1

Примітка: це твердження дозволяє записувати файл до. Ми можемо послатися на цей файл як на №1 під час решти нашого коду. Якщо файл вже існує, він буде видалено, і буде створений новий файл з таким самим ім'ям.

5. Почніть подвійний цикл.

For i = 1 To rng.Rows.Count
    For 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 у текстовий файл.

If j = rng.Columns.Count Then
    Write #1, cellValue
Else
    Write #1, cellValue,
End If

Пояснення: завдяки заяві If Then Else, Excel VBA запускає тільки нову лінію (Write # 1, cellValue), коли j дорівнює кількості стовпчиків (останнє значення в рядку). Для відокремлення значень комою використовуйте Write # 1, cellValue (комою).

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

    Next j
Next i

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

Close #1

10. Виберіть дані та натисніть кнопку команди на аркуші.

Результат:

Напишіть дані до результату текстового файлу

Також читайте: