Spara intervall i CSV -fil
Lösning #670 om hur man exporterar ett intervall till en avgränsad textfil.
Detta är ett praktiskt alternativ till att använda Excels standard sätt att spara kalkylbladet som en textfil eller CSV -avgränsad fil genom att välja "spara som" när:
1. Du använder en mall och vill bara exportera data exklusive rubriker och andra diverse saker
2. På samma sätt kanske du bara vill exportera en del av en datamängd
3. Du vill spara filen med en anpassad avgränsare som kan vara unik för din applikation.
Om du behöver göra 1,2 eller 3 kan en funktion som följande hjälpa. Den accepterar ett intervall för att exportera, plats för att spara filen och avgränsaren som du vill att dina data ska separeras med, och sparar sedan dina data enligt specifikationen.
Så här kallar du funktionen ExportRange:
1234567891011 | Sub CallExport ()'ExportRange (intervall, var, avgränsare)Ring ExportRange (Sheet1.Range ("A1: C20"), _"C: mark.txt", ",")Avsluta Sub |
Först berättar du funktionen intervallet du vill exportera, sedan var du vill exportera det, än den avståndsmätare som ska användas. Du behöver också funktionen ExportRange, här är det:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 | Funktion ExportRange (WhatRange As Range, _Var som sträng, avgränsare som sträng) Som strängDim HoldRow As Long 'test för ny radvariabelHoldRow = WhatRange.RowDim c As Range 'loop through range variabelFör varje c i WhatRangeOm HoldRow c.Row Då'lägg till radbrytning och ta bort extra avståndsmätareExportRange = Vänster (ExportRange, Len (ExportRange) - 1) _& vbCrLf & c. text & avgränsareHoldRow = c.RowAnnanExportRange = ExportRange & c.Text & DelimiterAvsluta omNästa c'Trim extra avgränsareExportRange = Vänster (ExportRange, Len (ExportRange) - 1)'Döda filen om den redan finnsOm Len (Dir (Var))> 0 DåDöda varAvsluta omÖppna Where For Append As #1 'skriv den nya filenSkriv ut #1, ExportRangeStäng #1Avsluta funktion |