Guardar rango en archivo CSV
Solución # 670 sobre cómo exportar un rango a un archivo de texto delimitado.
Esta es una práctica alternativa al uso de la forma predeterminada de Excel para guardar la hoja de trabajo como un archivo de texto o archivo delimitado por CSV seleccionando "guardar como" cuando:
1. Utiliza una plantilla y solo desea exportar los datos excluyendo los encabezados y otras cosas varias.
2. Del mismo modo, es posible que solo desee exportar parte de un conjunto de datos
3. Desea guardar el archivo con un delimitador personalizado que puede ser exclusivo de su aplicación.
Si necesita hacer 1, 2 o 3, una función como la siguiente puede ayudar. Acepta un rango para exportar, una ubicación para guardar el archivo y el delimitador con el que desea que se separen sus datos, luego guarda sus datos como se especifica.
A continuación, se explica cómo llamar a la función. ExportRange:
1234567891011 | Exportar llamada secundaria ()'ExportRange (rango, donde, delimitador)Llame a ExportRange (Sheet1.Range ("A1: C20"), _"C: mark.txt", ",")End Sub |
Primero le dice a la función el rango que desea exportar, luego dónde exportarlo, y luego el delimitador que debe usar. También necesitarás la función ExportRange, aquí está:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 | Función ExportRange (WhatRange As Range, _Donde como cadena, delimitador como cadena) como cadenaPrueba de Dim HoldRow As Long 'para una nueva variable de filaHoldRow = WhatRange.RowDim c As Range 'bucle a través de la variable de rangoPara cada c en WhatRangeSi HoldRow c. Row Entonces'agregar salto de línea y eliminar delímetro adicionalExportRange = Left (ExportRange, Len (ExportRange) - 1) _& vbCrLf & c. Texto y delimitadorHoldRow = c.RowDemásExportRange = ExportRange & c. Texto y delimitadorTerminara siSiguiente c'Recortar delimitador adicionalExportRange = Left (ExportRange, Len (ExportRange) - 1)'Mata el archivo si ya existeSi Len (Dir (Dónde))> 0 EntoncesMatar dondeTerminara siAbrir Where For Append As # 1 'escribir el nuevo archivoImpresión n. ° 1, rango de exportaciónCerrar # 1Función final |