Ниже мы рассмотрим программу на 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. Выберите данные и нажмите кнопку команды на листе.
Результат: