Exportera intervall till CSV (avgränsad textfil) - Exempel på VBA -kod

Innehållsförteckning

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
wave wave wave wave wave