Abrir archivo de texto (CSV) en Excel
Al abrir en Excel un archivo plano de texto (.txt etc) hay que tener en cuenta si trata de un texto delimitado por comas,tabs etc, o no. Un texto delimitado se caracteriza por tener delimitadores dentro del texto. Estos dicen por donde empezar una nueva columna.
Un archivo de estos, al abrirlo en Word etc, puede tener un aspecto bastante desorganizado. Pero en realidad no es así. Basta cambiar fuente a una monoespacio (por ejemplo Courier) para poder ver la estructura.
Hay varias maneras de importar estos datos a Excel. Aquí explicamos una de las maneras mas sencillas, es decir abrirlo directamente en Excel. Antes de proceder hay que averiguar si se trata de un texto delimitado o no.
Conceptos de apertura en Excel
Teoréticamente hay tres posibilidades como proceder.
| No. | Concepto | Resultado | Delimitadores |
| 1 | Texto no delimitado | Texto queda en la columna A | - |
| 2 | Texto delimitado | Texto queda en la columna A | Seguirán presentes |
| 3 | Texto delimitado | Texto se divide en columnas según posiciones de los delimitadores | Desaparecen |
El primer ejemplo es un archivo de texto con texto "normal y corriente". No está pensado para dividir en columnas.
El segundo está pensado para dividir en columnas, pero en este caso queremos conservar la estructura delimitada - por eso colocamos el texto en la columna A, y los delimitadores seguirán presentes.
El tercero está pensado para dividir en columnas, y eso es también el proceso que se efectuará.
Abrir archivo de texto en Excel sin dividir en columnas
Este código deja al usuario elegir el archivo a abrir, y luego se abre el archivo de texto en Excel. No divide en columnas, todos los datos permanecerán el la columna A. Los delimitadores quedan intactos.
Sub AbrirEnColumnaUnica() 'abre un archivo de texto en la columna A '[sin dividir en columnas] 'dimensiones Dim strNombreArchivo 'diálogo para abrir archivo strNombreArchivo = Application.GetOpenFilename If strNombreArchivo = False Then Exit Sub 'abre el archivo en la columna A Workbooks.OpenText _ Filename:=strNombreArchivo, _ Origin:=xlWindows, _ StartRow:=1, _ FieldInfo:=Array(1, 1) End sub
Abrir archivo de texto en Excel, y dividir el contenido en columnas
En el segundo ejemplo abriremos el archivo de texto en Excel, y procedemos a dividir el contenido en columnas, dependiendo del delimitador elegido. Los delimitadores desaparecerán.
Sub AbriryDividirEnComumnas() 'abre un archivo de texto en Excel, divide en columnas 'hay que poner el tipo de delimitador (en este caso 'Space') 'dimensiones Dim strNombreArchivo 'diálogo para abrir archivo strNombreArchivo = Application.GetOpenFilename If strNombreArchivo = False Then Exit Sub 'abrir el archivo y dividir en columnas Workbooks.OpenText _ Filename:=strNombreArchivo, _ Origin:=xlWindows, _ StartRow:=1, _ DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, _ ConsecutiveDelimiter:=False, _ Tab:=False, _ Semicolon:=False, _ Comma:=False, _ Space:=True, _ Other:=False, _ FieldInfo:=Array(1, 1) End Sub



