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 |