viernes, 31 de marzo de 2017

Ejecutar la instrucción DELETE de SQL desde Excel usando VBA

Vamos a iniciar una serie de posts en los que vamos a utilizar las instrucciones básicas de SQL para borrar, actualizar e insertar datos desde excel en una tabla de una base de datos. Para nuestros ejemplos, vamos a utilizar una base de datos construida en Ms Access, pero podemos reutilizar el código para hacer las operaciones con una base de datos de Oracle, SQL Server, My SQL y otras más.

Este primer post, es sobre el uso de la instrucción DELETE. Sencilla pero poderosa y de mucho cuidado, pues después de ejecutada no la podremos deshacer. En este ejemplo, vamos a construir una macro que va a combinar vba y sql. En mi opinión una combinación poderosa que nos va a servir para solucionar muchas de las necesidades que tengamos en nuestro trabajo.

Vamos a iniciar abriendo un archivo de excel, y vamos a dar la combinación de teclas Alt + F11 para abrir el editor de visual basic. Nos  deberá aparecer la siguiente ventana:



Seleccionamos la opción para insertar un módulo:


miércoles, 29 de marzo de 2017

Activar la visualización de los códigos de transacciones en el árbol de navegación de SAP

Normalmente cuando todos nos iniciamos en SAP desconocemos los códigos o nombres técnicos de las transacciones. Nos cuesta entender que son y para que sirven códigos como: XK99, KS02, OKEON etc.

La verdad es que a mi también al comienzo me costó un poco familiarizarme con estas. Este truco que vamos a ver hoy, nos servirá para activar en el árbol de navegación de SAP el código o nombre técnico de las transacciones y que más adelante, cuando estemos más familiarizados con estas, las podamos utilizar directamente en la línea de comandos de SAP.

La siguiente imagen nos muestra como luce el árbol de navegación por defecto en SAP:


Cuando seleccionamos una de las opciones disponibles en el árbol y queremos saber cuál es el código de la transacción, podemos verificarlo en el menú de la parte inferior derecha de la pantalla:


domingo, 26 de marzo de 2017

Dos maneras de utilizar fórmulas en excel para consolidar información

Hola a todos, estamos de vuelta nuevamente y en esta oportunidad vamos a trabajar en como consolidar información en nuestra hoja de cálculo. Una tarea que es muy común hoy en día en cualquier empresa, en especial en las áreas comerciales y financieras.

Así que vamos a iniciar por describir nuestro problema inicial. Lo que tenemos es un archivo en excel como el siguiente:




En el que tenemos una sencilla tabla, que nos resume los ingresos en miles de dólares generados en América del Norte para una compañía que fabrica y comercializa productos dentro de las cuatro categorías que podemos ver en la tabla.

La misma tabla, sin una fila de mas o de menos y sin una columna de mas o de menos, la tenemos para América Central y América Sur. En la hoja Total, tenemos una tabla igual, en la que vamos a sumar las ventas de las categorías para cada año y así tener la cifra total de ventas de la empresa. Para esto vamos a utilizar dos caminos. El primero es el más común en las diferentes hojas de cálculo que he visto. 

sábado, 19 de noviembre de 2016

Acta de reuniones en excel y vba, con la que podemos asignar tareas al calendario de outlook o gmail de los responsables.

Uno de los puntos débiles de muchas de las reuniones en las que participamos a diario es que suelen estar llenas de buenas intenciones, palabras y promesas que no generan acciones tangibles para poder dar cumplimiento a los acuerdos y tareas que surgen en el desarrollo de las mismas.

En algunas ocasiones, esto se suele presentar porque no hay tiempo para hacer seguimiento y porque los responsables suelen perder esas tareas de vista en su día a día.

Con el objetivo de ayudar a que esto no pase, y que los responsables mantengan una permanente visual de los compromisos adquiridos, hoy vamos a trabajar en la construcción de una muy sencilla acta de reuniones en excel, con la que al finalizar la reunión vamos a generar con una macro en vba los recordatorios de tareas a cada uno de los responsables. 

En este ejemplo vamos a trabajar con un mail de gmail que es donde van a quedar los recordatorios para que el responsable se asegure de no llegar a la próxima reunión sin las tareas hechas.

Este desarrollo es un muy buen complemento para la macro que diseñamos y desarrollamos en este otro post.

Vamos a iniciar entonces creando en excel una plantilla como la siguiente:



En esta plantilla, del rango A1 a F11 pueden colocar lo que quieran. Ya saben, lo usual de cualquier formato de acta de reuniones. La fecha, el objetivo de la reunión, los participantes, el logo de la empresa etc.

Lo que más nos interesa es lo que va a ir en el rango que va de A12 a F21. Ya que en ese rango vamos a registrar las tareas que se van a asignar en la reunión y es de ahí de donde nuestra macro va a extraer la información necesaria para generarlas y asignarlas a los responsables.

En este rango, yo he asignado una columna para asignar un id a la tarea, una descripción corta de de la tarea, un detalle completo de la misma, el nombre del responsable, el email y la fecha de vencimiento de la tarea. Siéntanse libres de modificar este rango como lo consideren, de acuerdo con sus propias necesidades, teniendo en cuenta que los campos: email, fecha de vencimiento, descripción y detalle los debemos mantener dada su importancia. Lo importante es que ajustemos nuestra macro, mapeando correctamente los campos que vamos a usar para generar la tarea.

sábado, 12 de noviembre de 2016

Macro para conectar Excel y SAP y extraer la información de Costos ABC: Ciclos, Segmentos y Procesos.

Después de haber visto como construir una macro para conectar Excel y SAP y tener claro los objetos requeridos y los pasos necesarios para poder lograrlo, hoy vamos a ver una macro un poco mas avanzada.

La misión es construir una macro que nos permita ingresar a la transacción CPV2, ingresar a cada uno de los ciclos de reparto, extraer la información de los segmentos y finalmente obtener los procesos que componen el segmento, las clases de costos, los cecos que se utilizan y los porcentajes utilizados para distribuir los costos.


Cuál es el beneficio de esta macro? Generación de eficiencias en recursos, ya que hacer este proceso de forma manual, requiere de la dedicación de una persona a tiempo completo por unas 2 o 3 horas aproximadamente y hay que tener en cuenta que por tratarse de un proceso manual de copiar y pegar en el que hay que navegar por distintas pestañas y ventanas, la probabilidad de cometer errores es alta. 

Empecemos entonces, por construir una tabla en excel con los siguientes encabezados:



Esos campos, son los que vamos a extraer de SAP mapeandolos en nuestra macro.