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 |