Eksporter område til CSV (avgrenset tekstfil) - eksempler på VBA -kode

Innholdsfortegnelse

Lagre område i CSV -fil

Løsning #670 om hvordan du eksporterer et område til en avgrenset tekstfil.

Dette er et praktisk alternativ til å bruke Excel standard måte å lagre regnearket som en tekstfil eller CSV -avgrenset fil ved å velge "lagre som" når:

1. Du bruker en mal og vil bare eksportere dataene unntatt overskrifter og andre diverse ting

2. På samme måte vil du kanskje bare eksportere deler av et datasett

3. Du vil lagre filen med en tilpasset skilletegn som kan være unik for programmet ditt.

Hvis du har behov for å gjøre 1,2 eller 3, kan en funksjon som følgende hjelpe. Den godtar et område som skal eksporteres, et sted for å lagre filen og skilletegnet du vil at dataene skal skilles med, og lagrer deretter dataene som angitt.

Slik kaller du funksjonen ExportRange:

1234567891011 Sub CallExport ()'ExportRange (område, hvor, skilletegn)Ring ExportRange (Sheet1.Range ("A1: C20"), _"C: mark.txt", ",")Slutt Sub

Først forteller du funksjonen intervallet du vil eksportere, deretter hvor du vil eksportere det, enn avmåleren som skal brukes. Du trenger også funksjonen ExportRange, her er det:

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 Funksjon ExportRange (WhatRange As Range, _Where As String, Delimiter As String) As StringDim HoldRow As Long 'test for ny radvariabelHoldRow = WhatRange.RowDim c As Range 'loop through range variabelFor hver c i WhatRangeHvis HoldRow c.Row Da'legg til linebreak og fjern ekstra delimeterExportRange = Venstre (ExportRange, Len (ExportRange) - 1) _& vbCrLf & c. tekst og skilletegnHoldRow = c.RowEllersExportRange = ExportRange og c. Tekst og skilletegnSlutt omNeste c'Beskjær ekstra avgrensningExportRange = Venstre (ExportRange, Len (ExportRange) - 1)'Drep filen hvis den allerede finnesHvis Len (Dir (Hvor))> 0 DaDrep hvorSlutt omÅpne Where For Append As #1 'skriv den nye filenSkriv ut #1, ExportRangeLukk #1Sluttfunksjon
wave wave wave wave wave