Macro para Importar CSV

25/12/2003 - 20:23 por Camilo Báthory | Informe spam
Buenas tardes,

Tengo un Software que me permite exportar información a
CSV, el problema es que me esta exportando mas de 65.536
(Limite de Filas) de los cuales si mucho necesito 40.000
por lo que me gustaria saber si puedo hacer una macro que
abra el CSV y solo me importe el registro a una fila si
cumple un campo del CSV con determinada condición.

Gracias,

CAMILO

Preguntas similare

Leer las respuestas

#1 Fernando Arroyo
26/12/2003 - 11:51 | Informe spam
Puedes abrir el fichero CSV usando por ejemplo ADO, y filtrar los registros antes de volcarlos a la hoja de cálculo.

En el siguiente ejemplo se abre el fichero "fichero.csv" situado en C:\ tomando sólo los registros cuyo "campo" número 2 sea distinto de "a" y se vuelcan en Hoja1, a partir de la celda A1:


Sub AbrirFicheroCSVconADO()
Dim cnn As New ADODB.Connection
Dim rs As New ADODB.Recordset

'en la siguiente instrucción Data Source debe ser el directorio donde esté el fichero CSV
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\;" & _
"Extended Properties=""Text;HDR=NO;"""

'en la siguiente instrucción "fichero" es el nombre del fichero CSV sin la extensión
rs.Open "SELECT * from fichero#csv WHERE F2<>'a'", cnn, adOpenStatic, adLockReadOnly, adCmdText

Worksheets("Hoja1").Range("A1").CopyFromRecordset rs

rs.Close

Set cnn = Nothing
Set rs = Nothing
End Sub


Para que funcione el código, tendrás que establecer una referencia a la librería ADO (Microsoft ActiveX Data Objects X.x, donde X.x deberá ser la más moderna de que dispongas). Esto se hace desde Herramientas->Referencias, estando en el editor de VBA.
Un saludo.


Fernando Arroyo
MS MVP - Excel


"Camilo Báthory" escribió en el mensaje news:005001c3cb1c$9cc40240$
Buenas tardes,

Tengo un Software que me permite exportar información a
CSV, el problema es que me esta exportando mas de 65.536
(Limite de Filas) de los cuales si mucho necesito 40.000
por lo que me gustaria saber si puedo hacer una macro que
abra el CSV y solo me importe el registro a una fila si
cumple un campo del CSV con determinada condición.

Gracias,

CAMILO
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida