Este blog está actualmente en construcción!!!
El lado oscuro de Microsoft Excel
Administra tu información con Microsoft Excel y Visual Basic para Aplicaciones
lunes, 25 de febrero de 2019
martes, 11 de diciembre de 2018
Libro: El lado oscuro de Microsoft Excel
Archivos de ejemplo:
Funciones de Excel de las que no debes prescindir
Portada
Portada
Contraportada
Administración de datos con Microsoft Excel
¿Por qué utilizar Microsoft Excel como SGBD?
Los sistemas de gestión de
base de datos, también conocidos por sus siglas SGBD, son programas que principalmente permiten almacenar, modificar
y extraer información de una base de datos, de manera que uno, o varios
usuarios puedan acceder y manipular la información al mismo tiempo. Claro está,
que este concepto puede ser mucho más amplio, pero para no enredar más el
asunto lo dejaremos hasta aquí.
En la actualidad existe una
gran variedad de Sistema de Gestión de Base de Datos, por nombrar algunos,
tenemos:
- Microsoft SQL Server.
- MySQL.
- Microsoft Access.
- Oracle.
- PostgreSQL.
- SQLite.
Ya, en este punto, debo
aclarar, antes de que te sientas engañados, que Excel no es un SGBD, pero
podemos hacer que se asemeje un poco, por lo menos para los fines que nos
atañen. Si bien, es cierto que es mucho más eficiente el uso de un programa
diseñado para tal fin, también es cierto que no siempre dispondrás de un
departamento de AIT (Automatización, Informática y Telecomunicaciones)
esperando por ti para diseñarte bases de datos, que te automatice documentos a
tu medida, también es cierto que el adquirir los conocimientos para implementar
bases de datos no es una tarea que puedas lograr en poco tiempo, no es
imposible, pero normalmente requiere algo de esfuerzo.
Además, para los efectos de
este libro deseamos romper el siguiente paradigma: “¿es base de datos o es hoja de cálculo?”, y nosotros queremos
ambas, queremos combinar las facilidades de administrar tablas de Excel como
bases de datos y al mismo tiempo gozar de la potencia de una hoja de cálculo, y
eso es precisamente lo que lograremos con este libro, y créame estimado lector,
que es mucho, pero mucho más fácil usar Excel como una base de datos, que
utilizar Access o cualquier otro gestor de base de datos como una hoja de
cálculo.
Y aquí voy con otro cuento,
en un momento de mi trayectoria profesional me planteé el tema de implementar
definitivamente el uso de una base de datos, y luego de discernir seriamente el
SGBD a utilizar, me decidí por Access, no por ser el mejor, o el más eficiente,
sino por ser el que más se adaptaba a mis necesidades del momento, tomando en
consideración:
- La cantidad de información a procesar.
- El tipo de datos a tratar.
- La cantidad de usuarios que pueden acceder a la información.
- Las restricciones de la intranet.
Con todo y que Access es uno
de los SGBD más sencillos de utilizar y aprender, fue frustrante esperar que mi
equipo de trabajo, tomaran un verdadero interés por él, y aprendieran a
utilizar esta herramienta con una simple inducción, por lo que todo el esfuerzo
invertido en este proyecto, moría conmigo al cambiar de cargo o al salir de
vacaciones. Hasta que finalmente me plantee seriamente la pregunta: ¿Y por qué no utilizar Excel como SGBD? Te
confieso que me pareció una completa locura, pero luego de meditarlo arduamente
llegué a la conclusión que por tantos años me negué a aceptar, y que siempre
estuve buscando, gozar de las prestaciones de una base de datos sin dejar sin
perder la potencia de una hoja de cálculo, y por fin logré romper el paradigma,
y comprendí que el utilizar Excel como SGBD me podría facilitar la vida
enormemente, y no te imaginas cuánto.
El utilizar Excel como SGBD
implicó que mis compañeros, supervisores y supervisados podrían manipular mis
bases de datos en Excel sin un conocimiento previo en SGBD, solo con funciones de
búsqueda aceptable para un usuario nivel básico - intermedio de Excel sería
suficiente, y podrían manipular la información contenida en estas tablas sin
mayor trauma, y esta flexibilidad no tiene precio. La forma en que se pueden diseñar
las tablas permite que la información que se genere sea fácilmente manejable
por cualquier otro miembro del equipo, y lo mejor de todo, tienes a mano, sin
hacer conversiones previas, toda tu información, que con mucho esfuerzo haz
recopilado y organizado para manipularlos a tu antojo en una verdadera hoja de
cálculo.
Para resumir todo lo
expuesto anteriormente podemos decir que Excel no es un SGBD, pero podemos
asemejarlo a uno, con la intención de obtener una mayor flexibilidad, sencillez
y facilidad en la manipulación de la información.
¿Por qué automatizar con VBA?
En una ocasión un compañero
de estudios y excelente programador, me recomendó que instalara un complemento
(plug-in[1]) para que realizará las
automatizaciones en otro lenguaje distinto a VB, pero en realidad ni siquiera
lo intenté, a pesar de que me puedo sentir más cómodo programando en Pascal o C/C++,
la razón, a mi entender es simple, y es la misma razón por la cual no diseñé
una base de datos en un verdadero gestor de base de datos como los mencionado
en el punto anterior. En primer lugar, con solo adquirir la licencia de
Microsoft Excel o la suite completa de Microsoft Office, el VBA ya viene
integrado en dicho paquete, y no tienes por qué pagar una licencia adicional.
En segundo lugar, para los que no poseemos grandes conocimientos de
programación, el lenguaje Visual Basic (VB) es muy sencillo de usar si se les
compara con otros, como Asembler, C/C++, Java, Pascal, entre muchos. En tercer
lugar, y considerando que esta técnica de automatización normalmente conlleva a
la creación de un complemento de Excel, se hace mucho más fácil su portabilidad
y pueda ser usado por otros usuarios sin mayores contratiempos. Y por último,
la ayuda disponible en internet es muchísimo mayor que para otros lenguajes.
A quién va dirigido este blog
Si por la naturaleza de tu
trabajo u oficio, requieres con frecuencia vaciar información contenida en
libros de Excel o bases de datos de Access a otros libros de Excel, o a otros
archivos de la suite de Microsoft Office, principalmente Word y PowerPoint, este
texto te ayudará a ser más llevadera esas tareas rutinarias. Créeme que de
verdad te sorprenderás de todo el tiempo que ahorras al optimizar dichas
tareas, pero eso sí, y no digas que no te lo advertí, la parte negativa, es que
en mucho de los casos, el automatizar documentos se puede volver algo adictivo,
por lo que no querrás parar de automatizar, y te sorprenderás pensando en la
mejor forma de automatizar los reportes de tu trabajo cuando menos te los
esperes.
Como amigo, te voy a decir
un secreto: si quieres sacarle verdadero provecho a las técnicas de
automatización expuestas en este libro, te recomiendo que no hagas alarde de lo
aprendido aquí, una vez finalizada la implementación de la automatización de
tus documentos, simula que inviertes el tiempo esperado por un trabajador
común, y te quedará tiempo para otras actividades, de verdad te asombrarás, je,
je, es broma, bueno, no tan en broma, pero cuando estas técnicas se usan en un
equipo de trabajo, en donde todos tienen acceso a la misma base de datos, es
impresionante la mejora que se produce, como para comerse el mundo entero.
El enfoque de este blog
En la escritura de este
blog, he procurado mantener un enfoque práctico y sencillo, evitando utilizar
palabras rebuscadas, pero tampoco es que se pueda hacer mucho al respecto.
Al inicio de este texto, decidí
comenzar con algunas consideraciones previas a tener en cuenta, como ¿qué es
una base de datos?, ¿qué es una hoja de cálculo?, las premisas que deberemos
considerar al diseñar tablas en Excel, y algunos aspectos del entorno de Excel,
como los tipos de referencias y nombres a rangos de celdas, entre otros.
Seguidamente, repasaremos las principales funciones de Excel de las cuales
considero que no debemos prescindir para la elaboración de nuestros reportes, y
finalmente explicaremos la incorporación de controles de formularios a nuestros
libros de Excel, y hasta aquí, considero culminada nuestra primera parte para
establecer las bases de esta aventura.
Luego, la cosa se pondrá un
poco más interesante, cuando incursionemos en el apasionante mundo de las
macros y VBA, esta segunda parte de este libro no será el corazón de esta obra,
pero sí muy necesario para continuar nuestro recorrido. Con lo aprendido en la
primera parte ya tenemos la mesa, y con la segunda, la caja de herramientas que
colocaremos sobre la mesa.
Ya con la mesa y la caja de
herramientas sobre esta, la tercera parte de esta obra consistirá en hacer uso
del Active Directory, que únicamente
te será de utilidad en caso de que tu empresa les permita hacer uso de esta, no
pasa nada si no podemos ejercitar esta parte. También aprenderemos a crear
Complementos de Excel e incorporar cintas de opciones personalizables a tu
entorno de Excel. Y con esta tercera, iremos colocando en nuestro estante los
objetos para uso nuestro, que construiremos en la mesa con nuestra caja de
herramientas.
Ya un poco más animados,
porque ya le estamos viendo el queso a la tostada, comenzaremos con nuestra
gran locura, la cuarta parte, guardar toda nuestra materia prima, es decir toda
nuestra información de trabajo, cuidadosamente organizada en inmensos almacenes
correctamente identificados, y ahí es cuando buscaremos asemejar Excel a un
SGBD, veremos cómo podemos ejecutar consultas SQL a nuestra tablas de Excel y a
otras bases de datos.
Y finalmente, la quinta
parte, ya con la mesa, la caja de herramienta, el estante con nuestros propios
objetos y los almacenes con nuestra materia prima, es cuando volvemos a
utilizar nuestra caja de herramienta para crear la maquinaria que procesará
nuestra materia prima para que el producto esté listo o casi listo para la
entrega, y es cuando vemos como generar reportes automatizado.
Bueno, manos a la obra, no
sé tú, pero yo estoy ansioso por comenzar, vamos a proceder a invertir nuestro
tiempo en una actividad de la que jamás te arrepentirás.
[1] Un
complemento o plug-in en inglés, es una aplicación que adiciona funcionalidad o
una nueva característica a un determinado software.
lunes, 10 de diciembre de 2018
Automatización de documentos Office
¿Por qué automatizar documentos?
Estimado lector, primero que nada: gracias por visitar mi blog. Estoy seguro que durante la lectura de los próximos capítulos ampliarás notablemente tus conocimientos de Microsoft Excel y Visual Basic para Aplicaciones (VBA[1]), y además disfrutarás enormemente el recorrido por estas páginas. Permítame apreciado amigo que te cuente un poco sobre mi experiencia personal sobre el uso de esta herramienta.
Durante mi trayectoria profesional he ocupado diversos cargos, como ingeniero de proyectos, planificador de proyectos, supervisor de obras de construcción, analista de presupuesto, entre otros, y entre las variadas actividades que tienen estos cargos, he observado que siempre se presenta como factor común: “la manipulación de información para generar reportes”.
Y otra vez a lo mismo: “a trabajar duro”. La información normalmente está contenida en uno o varios libros de Excel, que luego tienes que plasmar en una presentación PowerPoint o un documento Word, y hay comienzas otra vez con el célebre Copy – Paste, de un archivo a otro, y a pegar tablas, y a pegar gráficos, un numerito aquí y otro allá, un texto aquí y otro más allá, y se te van las horas, y por fin, al cabo de media mañana de trabajo, revisando cuidadosamente que pasaste bien la información de un documento a otro, has finalizado tu informe o reporte, y terminas tu jornada muy cansado, con la sensación de haber trabajado mucho, muchísimo, pero en con el malestar de no haber invertido tu tiempo en otros asuntos de interés, bien sean de trabajo o personales. Y al día siguiente… “nuevamente a lo mismo”, el mismo documento Word, la misma presentación PowerPoint, el mismo libro de Excel, el mismo trabajo pero con otros numeritos, y… ¿qué te puedo decir?: “nuevamente a perder el tiempo”. Y así, día tras día.
Esta rutina del Copy – Paste o las técnicas simples de enlazar (linkear[2]) datos de un documento a otro, sin criterio alguno de selección por parte de esta poderosa herramienta que es el Excel, me obligaron a adentrarme más y más en el oscuro mundo de Microsoft Excel, luego en VBA y finalmente en algunas transacciones SQL[3] (Lenguaje Estructurado de Consultas), para ir perfeccionando poco a poco poderosas técnicas de elaboración de reportes.
Luego de evaluar las ventajas de tener la mayor parte de mis trabajos automatizados, y experimentar la felicidad que se tiene al disponer de más tiempo para dedicarlo a otros asuntos, como por ejemplo: “escribir este libro”, me pidieron compartir estas técnicas de automatización con mis compañeros de trabajo, luego comencé a impartir cursos al personal de mi organización, seguidamente a brindar asesoría sin abandonar las actividades de mi puesto, y finalmente me decidí a escribir esta obra, que no son más que años de investigación, para lograr afinar cada vez más dichos procesos de automatización.
Estoy consciente de que el título de este blog suena a “Guerra de las Galaxias”, y te confieso que soy fanático de esta saga, a pesar de Disney, pero no por esto el título de la obra. Cuando hablo del lado oscuro, me refiero principalmente a las áreas poco transitadas, o poco exploradas, por los usuarios comunes de Excel. En mi experiencia profesional y personal me he topado con muchos tipos de usuarios y excelentes profesionales que trabajan a diario con esta herramienta, pero en muy raras ocasiones me consigo con usuarios que le saquen un verdadero provecho a las macros, y mucho menos a VBA (Visual Basic para Aplicaciones), y si mencionamos la palabra SQL (Lenguaje de Consulta Estructurada), entonces ya el asunto es de otro nivel. Bueno, en fin, y quizás no sea tu caso, pero a donde quiero llegar es que existen áreas de Excel a las cuales le sacamos muy poca ventaja, y en este sentido muchas veces despreciamos un poder, del cual no tenemos ni idea de lo que nos estamos perdiendo.
Aprender técnicas para automatizar documentos con Excel trae muchísimos beneficios, por solo mencionar algunos listaré los siguientes:
- Integridad de la información: ya que se encontrará actualizada y optimizada al estar alojada en un medio controlado por los custodios de la misma. Garantizando que todos los integrantes del equipo siempre entreguen la última actualización con los últimos formatos.
- Ahorro de tiempo en la entrega de la información: al disponer de un sistema automatizado, se podrá solicitar la información deseada solo en cuestión de segundos, en lugar de invertir una gran cantidad de tiempo en la elaboración de reportes.
- Mayor eficiencia: al garantizar que la información es estregada muy por debajo de los lapsos esperados por el cliente, y con la certeza de que se está trabajando con la última actualización de la información.
- Minimización de errores: al disponer de un sistema de automatización cuidadosamente elaborado, se minimizan los errores humanos productos del copiado y pegado de un documento a otro, además de garantizar de que se está trabajando con la información más actualizada.
- Información centralizada: ya elaborada una base de datos para alimentar el sistema de automatización, esta será la principal fuente de información, garantizando que los documentos, informes y registros que se generen contengan información proveniente del mismo origen.
- Coherencia en la entrega de reportes: al disponer de una misma fuente para la elaboración de reportes, es prácticamente imposible que existan contradicciones entre un documento y otro que hagan uso de un mismo origen.
- Reducir costes de tiempo y dinero: mientras más reportes se encuentren automatizados, dispondremos de más horas hombres que podremos invertir en otras actividades que requieran de análisis que lamentablemente no se podrán automatizar.
Las técnicas de automatización tampoco es que hacen milagros, lamentablemente no todo se podrá automatizar, habrá reportes que solo se automaticen a medias y el trabajador tendrá que poner el resto, la idea es poder automatizar todo lo que sea automatizable y ya con esto es bastante.
¿Qué por qué automatizar documentos?, creo que con todo lo expuesto anteriormente queda respondida esta pregunta. Si bien es cierto que el proceso de automatización de documentos requiere de un pequeño esfuerzo inicial, en cuanto a los conocimientos y destrezas a requerir[4], a la compresión de la información de la que se dispone, a los informes y reportes que se requieren generar y finalmente al diseño y codificación para esta interesante tarea, es muy, pero muy gratificante entregar la información solicitada en tiempo record, y en muchas ocasiones solo al alcance de un clic, y lo mejor de todo: con una considerable reducción en los márgenes de error.
Por otra parte, es verdad que codificar, así sea en Visual Basic (VB), que es uno de los lenguajes de programación más accesible al “no programador” como la mayoría de los usuarios de Excel, en ocasiones requiere de un esfuerzo intelectual un poco exigente, pero recuerde que hay cosas mucho más complejas de entender y comprender, como puede ser la teoría de la relatividad de Albert Einstein, la física nuclear, la mecánica cuántica y ni hablar de las mujeres, que eso si es difícil, que te lo digo yo, que vivo con mi amada esposa y mis tres queridas hijas, y en este caso solo te diré que a las mujeres hay que quererlas, mas no entenderlas.
¿Qué por qué automatizar documentos?, creo que con todo lo expuesto anteriormente queda respondida esta pregunta. Si bien es cierto que el proceso de automatización de documentos requiere de un pequeño esfuerzo inicial, en cuanto a los conocimientos a requerir[4], a la compresión de la información de la que dispones, a los informes y reportes que se requieren generar y finalmente al diseño y codificación para esta interesante tarea, es muy, pero muy gratificante entregar la información solicitada en tiempo record, y en muchas ocasiones solo al alcance de un clic, y lo mejor de todo: con escasos márgenes de error.
Por otra parte, es verdad que codificar, así sea en Visual Basic (VB), que es uno de los lenguajes de programación más accesible al “no programador” como la mayoría de los usuarios de Excel, en ocasiones requiere de un esfuerzo intelectual un poco exigente, pero recuerde que hay cosas mucho más complejas de entender y comprender, como puede ser la teoría de la relatividad de Albert Einstein, la física nuclear, la mecánica cuántica y ni hablar de las mujeres, que eso si es difícil, que te lo digo yo, que vivo con mi amada esposa y mis tres queridas hijas, y en este caso solo te diré que a las mujeres hay que quererlas, mas no entenderlas.
[1]
VBA es un elemento de programación diseñado por Microsoft para utilizarse con la
mayoría de los paquetes de la suite de Office.
[2] El
verbo linkear no existe en el castellano según la RAE, pero es usado por muchos
usuarios de Excel.
[3] Por
ahora diremos que SQL es un lenguaje de programación diseñado para administrar
sistemas de gestión de bases de datos.
[4]
Con la lectura de este blog, este requisito quedará cubierto.
BIENVENIDOS
Este blog es una práctica y útil introducción al diseño de base de datos y automatización de reportes con Microsoft Excel y VBA.
Acerca del autor:
Pedro J. Bazó C. (pedro.j.bazo.c@gmail.com) es Ingeniero Químico egresado de la Universidad Central de Venezuela. En los años 90 trabajó como preparador de programación en el Departamento de Investigación de Operaciones y Computación, asistiendo a los profesores en las clases de programación en lenguaje Pascal, C/C++ y Bases de Datos en Access. Desarrolló su tesis de grado en Visual C++ y Visual Fortran, titulada “Desarrollo de un programa modular para el ajuste de datos experimentales con modelos no lineales”, con la finalidad de optimizar parámetros de modelos matemáticos lineales y no lineales de diversas complejidades. También trabajó por varios años como profesor de programación de Visual Basic en la Universidad Gran Mariscal de Ayacucho en la Ciudad de El Tigre. A lo largo de su trayectoria profesional, ha ocupado diversos cargos como Ingeniero de Proyectos, Supervisor de Obras de Construcción, Planificador de Proyectos, Analista de Presupuesto, en donde automatizó gran variedad de documentos durante su permanencia en el cargo. Eventualmente, sin abandonar las actividades de su cargo, brinda asesoramiento y dicta curso sobre técnicas de automatización de documento con Microsoft Excel y VBA.
Suscribirse a:
Entradas (Atom)
El lado oscuro de Microsoft Excel
Entradas populares
-
¿Por qué utilizar Microsoft Excel como SGBD? Los sistemas de gestión de base de datos, también conocidos por sus siglas SGBD, son program...
-
Este blog es una práctica y útil introducción al diseño de base de datos y automatización de reportes con Microsoft Excel y VBA. ...