CSV y XLS Formato

Como puedo hacer para abrir un csv, separado por ;, y que respete el formato de excel, es decir que me coloque cada registro en una celda desde VBA

3 Respuestas

Respuesta
1
Te cuento que no he desarrollado código para ese tipo de archivos.
En todo caso hice unas pruebas y me funcionó bien, lo único que veo de diferencia es que posiblemente tu separador de listas por la configuración regional al parecer es ";" (Punto y Coma) y los archivos csv son delimitados por comas (Creo) y eso te puede estar afectando pues en las pruebas que hice abrí archivos de ese tipo mediante código y abrieron perfecto (con la información en columnas te niendo en cuanta que mi separador de listas es la coma).
En todo caso, si nada de lo dicho funciona para que te abran correctamente me parece que lo que puedes hacer es incluir en el código la instrucción de separar texto en columnas que a la larga da como resultado lo que tu deseas.
Me cuentas.
Respuesta
1
Emilio:¿Perdón la ignorancia... que es un CSV? ¿Es algún tipo de archivo plano?
Cuéntame un poco más y con seguridad lo sacamos adelante.
Con Excel podemos abrir cualquier archivo plano y decirle que separe cada registro por algún tipo de carácter.
Ya sea desde la hoja misma o desde VBA.
Por el menu DATOS, texto en columnas, podemos hacer esto.
Supongamos que tu archivo lo salvamos como .txt y lo abrimos con el excel, en ese momento puedes ejecutar esa funcion del excel y obtendras cada registro en una celda diferente si tu separador es ;
Cuéntame más y lo sacamos adelante y si quieres enviame un ejemplo de tu CSV y te lo devuelvo en una hoja de excel tal cual lo quieres.
iordonexxxcable.net.co
xxx=@
BYE
Respuesta
1
La macro siguiente abre un archivo csv, de 3 columnas delimitadas por punto y coma:
Sub Macro1()
' Macro grabada el 06/06/2003 por EMM
'
Workbooks.OpenText Filename:="C:\Mis documentos\BIBLIOELSA.txt", Origin:= _
xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=True, _
Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), _
Array(2, 1), Array(3, 1))
End Sub
Si era esto lo que necesitabas, solo tenés que cambiar la ruta y completar el array con las columnas que tengas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas