Запазване на диапазона в 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Крайна функция |