Експортиране на диапазон в CSV (файл с разделен текст) - Примери за код на VBA

Запазване на диапазона в CSV файл

Решение #670 за това как да експортирате диапазон в текстов файл с разделители.

Това е удобна алтернатива за използване на стандартния начин на Excel за запазване на работния лист като текстов файл или CSV файл, разделен чрез избиране на „запазване като“, когато:

1. Използвате шаблон и искате само да експортирате данните, с изключение на заглавки и други разни неща

2. По същия начин може да искате да експортирате само част от набор от данни

3. Искате да запишете файла с персонализиран разделител, който може да е уникален за вашето приложение.

Ако имате нужда да направите 1,2 или 3, функция, подобна на следната, може да ви помогне. Той приема диапазон за експортиране, местоположение за запазване на файла и разделителя, с който искате данните ви да бъдат разделени, след което записва данните ви, както е посочено.

Ето как да извикате функцията ExportRange:

1234567891011 Sub CallExport ()'ExportRange (диапазон, къде, разделител)Обадете се на ExportRange (Sheet1.Range ("A1: C20"), _"C: mark.txt", ",")End Sub

Първо кажете на функцията диапазона, който искате да експортирате, след това къде да го експортирате, отколкото делиметъра, който да използвате. Ще ви трябва и функцията ExportRange, Ето го:

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 Функция ExportRange (WhatRange като диапазон, _Къде като низ, разделител като низ) Като низDim HoldRow As Long 'тест за нова променлива на редHoldRow = WhatRange.RowDim c As Range 'променлива в диапазонаЗа всеки c В WhatRangeАко HoldRow c.Row Тогава„добавете прекъсване на реда и премахнете допълнителния делиметърExportRange = Ляво (ExportRange, Len (ExportRange) - 1) _& vbCrLf & c.Text & DelimiterHoldRow = c.RowИначеExportRange = ExportRange & c.Text & DelimiterКрай АкоСледващ c„Подстрижете допълнителен разделителExportRange = Ляво (ExportRange, Len (ExportRange) - 1)„Убийте файла, ако вече съществуваАко Len (Dir (Къде))> 0 ТогаваУбийте къдеКрай АкоОтворете Where For Append As #1 'напишете новия файлПечат #1, ExportRangeЗатворете #1Крайна функция
wave wave wave wave wave