domingo, 10 de enero de 2021

Importar un fichero csv en Microsoft Excel evitando que separe automáticamente por el punto y coma.

 

Microsoft Excel es una gran herramienta, pero a pesar de todo, puede jugarnos malas pasadas.

Uno de los formatos de datos que más habitualmente se usan para importar datos a Excel desde Bases de Datos o programas ERP de gestión, es el formato csv.

Este formato usa un carácter como separador, para indicar donde se separan los campos.

Por defecto este separador, en la versión española del programa es el punto y coma.

Esto hace que si el formato csv está vinculado a Excel, y se abre el fichero csv con doble click; Microsoft Excel asumirá que los campos están separados por punto y coma.

Esto hace que si el separador que estamos usando es distinto, los campos se separen incorrectamente.

No suele ser un problema en listados pequeños en los que esto se detecta visualmente, pero en un listado de mil líneas o más puede pasar desapercibido y provocar pérdida de datos.

En el ejemplo tenemos un listado de libros, separado por Barras verticales, también conocidas como pipes.

Es muy usual indicar los nombres de los autores, con apellidos coma nombre, y si se trata de varios autores, separar estos por punto y coma.


En este caso si se abre el fichero directamente los datos de los libros que tengan más de un autor, serán divididos por Excel en varias columnas.

Aunque en el ejemplo se aprecia el problema en las primeras líneas, existe la posibilidad de que la división se produzca en filas que no se aprecian en pantalla, por ejemplo la fila 300, pudiendo provocar pérdida de datos.

Una solución sería abrir un fichero de Excel vacío e importar desde allí el fichero.

Otra solución es la que os muestro, símplemente renombrando el fichero, cambiando la extensión por txt. De esta forma Microsoft Excel siempre importará todos los datos en la misma columna, 

El proceso completo en el vídeo.




domingo, 3 de enero de 2021

Limitaciones de Microsoft Excel a la hora de exportar datos a csv

Para exportar una hoja de cálculo a formato CSV en Microsoft Excel, solo es necesario Guardar el fichero como csv.
Sin embargo no existe ninguna posibilidad de elegir las opciones de exportación.
Es importante entender que el separador de campos usado, es el separador de listas configurado en el sistema operativo.
En el caso de Microsoft Windows esto se configura en el apartado configuración regional del Panel de Control.

NOTA:
A la hora de exportar a csv, en mi caso prefiero utilizar Libreoffice Calc, esta hoja de cálculo permite seleccionar cualquier separador a la hora de guardar el fichero en formato CSV.

miércoles, 30 de diciembre de 2020

Mensaje con VBA (VISUAL BASIC FOR APPLICATIONS)

Como iniciación a la programación de macros en VBA mostraré como hacer aparecer un mensaje en pantalla.

Para ello solo es necesario incluir la siguiente línea en el momento en que desee, usualmente al final del código para avisar de que se ha finalizado la ejecución:

MsgBox ("Macro finalizada")




El resultado es una ventana flotante (un Message Box) en la que se muestra un aviso y se espera a la pulsación de un botón por parte del usuario.



Mostrar Ficha Desarrollador

Al trabajar con macros en Microsoft Excel es muy útil el uso de la Ficha Desarrollador, la cual está por defecto oculta.

El proceso es el siguiente:



Grabar macro automáticamente

 Se pueden grabar macros desde la pestaña Vista:



Pero existe una pestaña oculta denominada "Desarrollador" que nos dará más opciones.

Desde cualquiera de las dos opciones, pulsar en "Grabar macro", realizar las acciones que deseamos que se repitan y pulsar en "Finalizar grabación"



Ir a última columna

Para ir a la última columna, el proceso es similar a ir a la última fila.

Basta con usar el método CTRL + Flecha Derecha




Ir a última fila con datos

La forma más rápida de ir a la última fila en Microsoft Excel, es usando el teclado.

Se trata de ir a una columna vacía, en esa columna bajar hasta la última fila del documento con la combinación de teclas CTRL + Flecha Abajo, volver a colocarse en la columna a la que queremos ir, y subir hasta encontrar la primera fila desde abajo con datos CTRL + Flecha Arriba.