Exportați gama în CSV (fișier text delimitat) - Exemple de cod VBA

Salvați gama în fișierul CSV

Soluția nr. 670 despre cum să exportați un interval într-un fișier text delimitat.

Aceasta este o alternativă la îndemână la utilizarea modului implicit Excel de a salva foaia de lucru ca fișier text sau fișier delimitat CSV, alegând „salvați ca” atunci când:

1. Folosiți un șablon și doriți doar să exportați datele, cu excepția anteturilor și a altor lucruri diverse

2. În mod similar, este posibil să doriți să exportați doar o parte dintr-un set de date

3. Doriți să salvați fișierul cu un delimitator personalizat care poate fi unic pentru aplicația dvs.

Dacă aveți nevoie să faceți 1,2 sau 3, o funcție precum următoarea vă poate ajuta. Acceptă un domeniu de exportat, locație pentru salvarea fișierului și delimitatorul cu care doriți ca datele dvs. să fie separate, apoi salvează datele așa cum este specificat.

Iată cum puteți apela funcția ExportRange:

1234567891011 Sub CallExport ()„ExportRange (interval, unde, delimitator)Apelați ExportRange (Sheet1.Range ("A1: C20"), _„C: mark.txt”, „,„)Sfârșitul Sub

Mai întâi spuneți funcției intervalul pe care doriți să-l exportați, apoi unde să-l exportați, decât delimetrul de utilizat. Veți avea nevoie și de această funcție ExportRange, Iată-l:

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 Funcție ExportRange (WhatRange As Range, _Unde Ca Șir, Delimitator Ca Șir) Ca ȘirTest Dim HoldRow As Long pentru noua variabilă de rândHoldRow = WhatRange.RowDim c Bucla As Range prin variabila rangePentru fiecare c din WhatRangeDacă HoldRow c. Row atunci'adăugați linia și eliminați delimetrul suplimentarExportRange = Left (ExportRange, Len (ExportRange) - 1) _& vbCrLf & c. Text & DelimitatorHoldRow = c.RowAltfelExportRange = ExportRange & c.Text & DelimiterEnd IfUrmătorul c„Tăiați delimitatorul suplimentarExportRange = Left (ExportRange, Len (ExportRange) - 1)'Omoară fișierul dacă există dejaDacă Len (Dir (Unde))> 0 AtunciKill WhereEnd IfDeschideți Unde Pentru Așeza Ca # 1 'scrieți noul fișierTipăriți # 1, ExportRangeÎnchideți numărul 1Funcția de sfârșit
wave wave wave wave wave