Esporta intervallo in CSV (file di testo delimitato) - Esempi di codice VBA

Salva intervallo su file CSV

Soluzione #670 su come esportare un intervallo in un file di testo delimitato.

Questa è una pratica alternativa all'utilizzo del modo predefinito di Excel per salvare il foglio di lavoro come file di testo o file delimitato CSV scegliendo "salva con nome" quando:

1. Utilizzi un modello e desideri esportare solo i dati escludendo le intestazioni e altre cose varie

2. Allo stesso modo, potresti voler esportare solo una parte di un set di dati

3. Si desidera salvare il file con un delimitatore personalizzato che potrebbe essere univoco per la propria applicazione.

Se è necessario eseguire 1,2 o 3, una funzione come la seguente può essere d'aiuto. Accetta un intervallo da esportare, una posizione in cui salvare il file e il delimitatore con cui desideri separare i dati, quindi salva i dati come specificato.

Ecco come chiamare la funzione ExportRange:

1234567891011 Sub CallExport()'ExportRange(intervallo,dove,delimitatore)Chiama ExportRange(Sheet1.Range("A1:C20"), _"C:mark.txt", ",")Fine sottotitolo

Prima dici alla funzione l'intervallo che vuoi esportare, poi dove esportarlo, poi il delimitatore da usare. Avrai anche bisogno della funzione ExportRange, Ecco qui:

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 Funzione ExportRange(WhatRange As Range, _Where As String, Delimiter As String) As StringDim HoldRow As Long 'test per la nuova variabile di riga'HoldRow = WhatRange.RowDim c As Range 'loop through range variabilePer ogni c In WhatRangeSe HoldRow c.Row Then'aggiungi interruzione di riga e rimuovi delimitatore extraExportRange = Left(ExportRange, Len(ExportRange) - 1) _& vbCrLf & c.Testo e delimitatoreHoldRow = c.RowAltroExportRange = ExportRange & c.Text & DelimiterFinisci seAvanti c'Taglia delimitatore extraExportRange = Sinistra(ExportRange, Len(ExportRange) - 1)'Uccidi il file se esiste giàSe Len(Dir(Dove)) > 0 AlloraUccidi doveFinisci seApri dove per Aggiungi come #1 'scrivi il nuovo fileStampa #1, ExportRangeChiudi #1Fine funzione
wave wave wave wave wave