Сохранить диапазон в файл CSV
Решение № 670 о том, как экспортировать диапазон в текстовый файл с разделителями.
Это удобная альтернатива использованию по умолчанию в Excel способа сохранить рабочий лист в виде текстового файла или файла с разделителями в формате CSV, выбрав «Сохранить как» в следующих случаях:
1. Вы используете шаблон и хотите экспортировать только данные, за исключением заголовков и прочего прочего.
2. Точно так же вы можете экспортировать только часть набора данных.
3. Вы хотите сохранить файл с настраиваемым разделителем, который может быть уникальным для вашего приложения.
Если вам нужно выполнить 1, 2 или 3, может помочь следующая функция. Он принимает диапазон для экспорта, место для сохранения файла и разделитель, которым вы хотите разделить данные, а затем сохраняет данные, как указано.
Вот как вызвать функцию ExportRange:
1234567891011 | Sub CallExport ()'ExportRange (диапазон, где, разделитель)Вызовите ExportRange (Sheet1.Range ("A1: C20"), _"C: mark.txt", ",")Конец подписки |
Сначала вы указываете функции диапазон, который хотите экспортировать, затем куда его экспортировать, а затем использовать разделитель. Вам также понадобится функция ExportRange, вот:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 | Функция ExportRange (WhatRange As Range, _Где как строка, разделитель как строка) как строкаТест Dim HoldRow As Long для новой переменной строкиHoldRow = WhatRange.RowDim c As Range 'сквозная переменная диапазонаДля каждого c в WhatRangeЕсли HoldRow c.Row Then'добавить перенос строки и удалить лишний разделительExportRange = Left (ExportRange, Len (ExportRange) - 1) _& vbCrLf & c.Текст и разделительHoldRow = c.RowЕщеExportRange = ExportRange & c.Текст и разделительКонец, еслиСледующий c'Обрезать лишний разделительExportRange = Left (ExportRange, Len (ExportRange) - 1)'Убить файл, если он уже существуетЕсли Len (Dir (Where))> 0, тоУбить гдеКонец, еслиOpen Where For Append As # 1 'напишите новый файлПечать №1, ExportRangeЗакрыть # 1Конечная функция |