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

miércoles, 9 de noviembre de 2016

El Blog Recomendado: Submarinismos, Inmersiones en Economía y Energías Renovables.

Esta semana quiero recomendarles el blog Submarinismos. En el podemos encontrar diversos análisis sobre temas de actualidad económica y energías renovables.

Con interesantes puntos de vista y la posición independiente del autor, a quién conozco y con quién aprovecho para discutir y ampliar mis conocimientos en estos temas cada vez que tengo la oportunidad de pasar por Cali.

Les recomiendo este post muy interesante, en el que se menciona lo cerca que puede estar el país de llegar a tener un impuesto a las emisiones de carbono. 

Como ya todos ustedes saben, ese delicado, complejo y sensible punto se encuentra incluido en la reforma tributaria que esta haciendo trámite en el congreso de la república: Reducciones de carbono e impuestos


lunes, 7 de noviembre de 2016

Como hacer web scraping utilizando excel y vba? - Parte 3

Y llegamos a la tercera y última entrega de como hacer web scraping utilizando excel y nuestra poderosa herramienta el vba. Recuerden que para consultar las dos primeras partes de este pequeño tutorial, pueden hacer clic en: Parte 1 y en Parte 2.

El objetivo entonces en este post, es que diseñemos una macro que nos sirva para extraer la información de las páginas web. Lo primero que vamos a hacer es abrir excel y llamar el editor de vba (recuerden utilizar el atajo de teclado: Alt + F11).

Y estando en el editor vamos a dar clic en la opcíon del menú tools (herramientas en español) y seleccionamos la opción: referencias o reference (según el idioma que tengamos en la configuración):



Al hacerlo, se va a desplegar un cuadro de dialogo que contiene las librerías que estan cargadas actualmente y las que están disponibles y que podemos activar haciendo clic en la casilla de selección que esta adelante de cada una.

Para nuestro propósito, necesitamos seleccionar las siguientes (Microsoft HTML Object Library y Microsoft Internet Controls):



domingo, 30 de octubre de 2016

Cuando las funciones ESPACIOS( ) o TRIM( ) no son suficientes para eliminar los espacios en blanco en Excel

Hace poco me hicieron una consulta que inicialmente me pareció muy sencilla de resolver. 

Un amigo, había importado algunos datos en una hoja de cálculo y después de hacerlo, quiso realizar algunos cálculos con estos. 

Inicialmente lo único que quería hacer era sumar en la columna H, los valores observados en las columnas F y G. Al hacerlo, se encontró con un error como el que aparece a continuación:



Le dije que eso era fácil de resolver, que utilizara la función VALOR( ) o VALUE( ) para convertir el texto en número y que aplicara la suma y el resultado fue el mismo:



Entonces le dije que de seguro tenia problemas con algunos espacios en blanco al comienzo y/o al final de cada valor y le sugerí que removiera primero los espacios y luego convirtiera a valores usando la siguiente fórmula:

sábado, 29 de octubre de 2016

Como construir una macro para conectar Excel y SAP y automatizar tareas - Ejemplo 1

Lo prometido es deuda y el día de hoy es el momento de cumplir con lo dicho. Hace tiempo había prometido un post con los pasos básicos para poder aprovechar nuestro ERP SAP, el poder del vba y la flexibilidad y funcionalidad del excel. Como? Por medio de la construcción de una macro que nos permita conectar SAP con excel, aprovechando un API que trae el primero de los dos. Esta macro, nos puede servir para administrar datos maestros, para ingresar información transaccional a nuestro sistema o para generar un reporte que no tengamos a la mano. Lo más importante de todo esto, es que trabajemos inicialmente en nuestro sistema de pruebas (calidad), construyamos, probemos y ajustemos hasta obtener los resultados deseados. 

Todo esto es necesario, porque al igual que como lo mencioné en el post sobre LSMW, lo que haga nuestra macro en el sistema, en especial si es utilizando las transacciones terminadas en 01 o 02 que por lo general son para crear y modificar.

Si creamos una macro para crear proveedores y esta queda mal, el dato maestro en el sistema va a quedar también mal y al final va a generar re-procesos, costos innecesarios y fricciones internas en la empresa y con terceros.

A nadie le gusta escuchar que el pago que esta esperando no se pudo realizar por un error en la configuración de los datos con los que fue creado en el sistema.

Vamos a seguir entonces, una serie de pasos, que después vamos a revisar estén grabados en el script de SAP y de ahí vamos a extraer la información, pegarla en un módulo de macros y realizar unos pequeños ajustes.

Paso 1: Estando en SAP, vamos a activar el grabador de scripts de SAP. Esto lo hacemos dando clic en el último botón de nuestra barra de herramientas (el que esta resaltado por la flecha azul):




Paso 2: Seleccionamos la opción Grabar y reproducir script:

domingo, 23 de octubre de 2016

Como hacer web scraping utilizando excel y vba? - Parte 2

Continuando con lo visto en el último post, hoy vamos a revisar el proceso de inspección de las páginas web. En que consiste esto? La idea es revisar la página que vemos en nuestro navegador y que es la vista de usuario final y revisar el código HTML que se encuentra detrás de la misma y así poder identificar las partes mas importantes del mismo y que son las que nos van a servir para construir la macro en la última entrega.

Recuerdan la página que vimos en el último post? vamos a tomarla como base y vamos a iniciar el proceso de inspección de la misma. Para poder hacerlo, debemos dar un clic derecho en la página y seleccionar: inspeccionar:



Al hacerlo nos va a aparecer la página con unas divisiones adicionales en el lado derecho de la misma, tal y como se ve en la siguiente imagen:

sábado, 22 de octubre de 2016

Como hacer web scraping utilizando excel y vba? - Parte 1

Bueno, como siempre suele suceder con el excel, aquí va una de esas cosas que jamas me hubiera esperado se pudieran hacer con esta hoja de cálculo y una macro. 

El tema es hacer scraping a una página utilizando el poderoso vba para crear una macro que nos permita obtener información desde una página web. El post lo voy a dividir en tres entregas.

En esta primera parte, vamos a revisar un poco de teoría sobre como funciona internet, para que podamos saber e identificar que esta haciendo nuestra macro. 

En la segunda parte, revisaremos el proceso de inspeccionar las páginas web y en la tercera y última vamos a construir la macro que nos va a permitir realizar el scraping. 

Prometo mas adelante dedicarle un post completo al uso y consumo de servicios web desde excel.

Empecemos por revisar lo que ocurre cuando desde un navegador común y corriente, como internet explorer, chrome o mozilla ingresamos la dirección de una página web en internet. Lo primero es que cuando damos enter en la barra de navegación, se envía una petición al servidor en el cuál se encuentra alojada la página web que queremos consultar, por ejemplo:




Lo que acaba de ocurrir, es que se envió una solicitud utilizando una petición GET o una petición POST. La primera es la que realmente nos interesa, pues es la que nos va a permitir realizar el scraping.

sábado, 15 de octubre de 2016

Como automatizar el envío de correos con una macro en vba y outlook?

Hace algunas semanas en el trabajo, alguién me preguntaba por la forma de enviar varios emails desde excel con diferentes asuntos y cuerpos de texto de los correos electrónicos. La idea, es hacerlo utilizando outlook. La pregunta concreta fue: Si existía o no la posibilidad de automatizar la tarea con una macro, de forma tal que esta se pudiera realizar con un simple clic?

A continuación vamos a ver como podemos realizar esta tarea, y como tomando como base el código en vba que adjunto en el post, podemos personalizarlo y crear una solución que se adapte a las necesidades que tengamos.

Veamos, tengo una hoja excel. En una de las columnas tengo varias direcciones de correo electrónico (cada una en una celda), tengo el asunto a tratar en cada correo y tengo el cuerpo del mismo:


Vamos a llamar el editor de vba (Alt+F11), y vamos a ingresar el siguiente código:

viernes, 7 de octubre de 2016

Interesante enlace a página con recursos en matemáticas y finanzas

Hola a todos,

Les quiero compartir esta interesante página con recursos de matemáticas en general y matemáticas financieras: http://es.countcalculate.com/

Este es el enlace a los recursos de finanzashttp://es.countcalculate.com/finanzas

Hay calculadoras financieras, cálculos con interés compuesto etc:


lunes, 25 de julio de 2016

Analizando el ROE por medio de la técnica Dupont

Entre los indicadores mas comunes que tenemos al momento de realizar análisis de estados financieros en las organizaciones esta el ROE.


El ROE, es el retorno del patrimonio, y como lo vemos en la siguiente fórmula, es una combinación de datos tomados del Balance General y del PyG o estado de resultados:




La utilidad neta, que la tomamos del PyG y el Patrimonio que lo tomamos del Balance. Al obtener el ROE, siempre me han preguntado si este es bueno o es malo y cual puede ser la explicación del resultado. Para responder lo segundo, siempre he recurrido al análisis DuPont.

Para empezar, tomamos la fórmula inicial y la multiplicamos como vemos en la imagen:


Utilizar la funcionalidad de pegado especial para realizar operaciones a un conjunto de datos (sumar, restar, multiplicar o dividir)

En algunos momentos necesitamos realizar alguna de las cuatro operaciones básicas a un conjunto de datos en excel. Usualmente, lo hacemos mediante una fórmula, copiamos el resultado de todo el conjunto y lo pegamos sobre los datos originales.

Hay una alternativa, que solo requiere que ingresemos el valor por el que queremos afectar el conjunto de datos y utilizando la funcionalidad pegado especial aplicamos la operación aritmética a los mismos.

Supongamos que al siguiente conjunto de datos le queremos aplicar un incremento del 10%:



sábado, 9 de julio de 2016

Herramientas para administrar datos maestros en SAP - LSMW

Hola a todos, hace algún tiempo conté con la fortuna de trabajar en el centro de servicios compartidos de una compañía cervecera, mas exactamente para SAB Miller. 

Allí, trabajé como  Data Steward para la región, y tenía a mi cargo los datos maestros financieros, de recursos humanos y de proveedores. 

La carga de solicitudes era bastante alta, y solo gracias a la automatización de distintas partes del proceso de gestión de datos maestros, era posible lograr cumplir con los diferentes acuerdos de servicio que se tenían.

Hoy, les quiero compartir una de las dos herramientas con las que trabajábamos, y mas adelante en otro post les estaré compartiendo la segunda.

Vamos a iniciar con el LSMW o el Legacy System Migration Workbench. 

Potente herramienta, a mi juicio la de mejor rendimiento y sin duda de mucho cuidado al momento de implementar y poner a correr cualquier actualización masiva. Y cuando digo cuidado es en serio. 

Cualquier cosa que hagamos en LSMW, debemos probarla primero en el ambiente de calidad, y chequear que los cambios sean correctos y los datos estén creados o actualizados como lo queremos. Para esto, lo ideal es crear o actualizar uno o dos registros y no el set completo. 

LSMW puede ayudarnos a procesar miles de tareas en SAP, como modificar centros de costo, crear proveedores (para esta tarea también les recomiendo la transacción XK99), realizar mantenimientos a cuentas contables etc. La herramienta funciona como la grabadora de macros de Excel y luego nos permitirá editar lo que ha grabado. 

Hay que aclarar que no se requiere programación, es opcional, sin embargo, si se requiere de operaciones mas avanzadas el lenguaje con el que se trabajaría es ABAP, que es propio de SAP.

Lo bueno es que después de que lo probemos, lo podemos guardar y seguir utilizándolo para atender y procesar requerimientos posteriores.

Este es el tutorial con el que yo aprendí a implementar LSMW en las operaciones del centro: Tutorial LSMW

El flujo de efectivo dentro de una compañía

Este es un excelente ejemplo gráfico, para entender de donde provienen los flujos de efectivo que usa una compañía y en que los utiliza. es un buen complemento para el post: Identidades de los flujos de caja

Nuevamente, la referencia la tomamos del libro: Fundamentals of Corporate Finance - Sixth Edition:




a) Las compañías emiten títulos o acciones para conseguir efectivo que financie sus operaciones. Este efectivo puede ser pagadero en el corto o largo plazo (fuentes).

Construyendo el perfil del valor presente neto - VPN

Veamos como calcular el perfil del valor presente neto (VPN) para una inversión:

lunes, 27 de junio de 2016

Identidades de los flujos de caja

Hola a todos, les comparto este resumen de identidades de flujos de caja, bastante completo y para mantener a la mano siempre. La fuente es el libro: Fundamentals of Corporate Finance - Sixth Edition. El cual les recomiendo tener siempre al alcance como material de consulta:



En español:

I. Flujo de caja de activos = Flujo de caja de acreedores + Flujo de caja de accionistas

II. Flujo de caja de activos = Flujo de Caja Operativo - Inversión Neta en Activos - Cambio Neto en Capital de Trabajo

Flujo de Caja Operativo = EBIT + Depreciación - Impuestos

Inversión Neta en Activos = Activos fijos netos final periodo - Activos fijos netos comienzo periodo + Depreciación

Cambio Neto en Capital de Trabajo = Capital de Trabajo Neto final periodo - Capital de Trabajo Neto comienzo de periodo

III. Flujo de Caja para Acreedores = Intereses Pagados - Nuevos Prestamos Netos

IV. Flujo de Caja para Accionistas = Dividendos Pagados - Nuevas Inyecciones de Patrimonio

sábado, 25 de junio de 2016

viernes, 24 de junio de 2016

Búsqueda de soluciones alternativas simples, prácticas y rápidas

Hace un par de semanas me invitaron a participar en un proyecto de automatización de cotizaciones para la fuerza de ventas de una compañía. Cuando los representantes comerciales visitan al cliente potencial, toman los datos para realizar la cotización, la cual debían regresar a la oficina a hacerla en un archivo de Excel. 

Todo esto, a pesar de que los vendedores cuentan con un terminal portátil que les permite registrar la venta en linea en el sistema de la compañía, pero increíblemente no tiene ninguna opción para realizar una cotización.

En la lluvia de ideas, se dieron como posibles soluciones las siguientes:
  1. Actualizar la aplicación que registra la venta en linea, para que incluya la opción de realizar una cotización.
  2. Contratar el desarrollo de una nueva aplicación.
  3. Cargar en las terminales portátiles el archivo de Excel con el que se hace la cotización.
  4. Desarrollar una sencilla página en HTML + Javascript para hacer lo mismo que hace el Excel. Como muchos de ustedes saben, ambos recursos: HTML y Javascript son de libre uso, y no requieren de pagos adicionales ni licencias.

jueves, 23 de junio de 2016

Análisis de sensibilidad para medir el impacto de una o dos variables en la salida de un modelo

Estos análisis de sensibilidad son bastante útiles. Los pueden utilizar para construir un perfil de VPN, realizar análisis de costos, sensibilidad en un estado de perdidas y ganancias etc.

El ejercicio inicial del valor futuro lo encuentran explicado en: Ejercicio valor futuro


miércoles, 22 de junio de 2016

Tabla de amortización de prestamos en Excel

Sencillos pasos para construir una tabla básica de amortización de prestamos en Excel.

Se puede extender a un plazo mayor, cambiar la tasa de interés o modificar el valor del préstamo:



martes, 21 de junio de 2016

Cómo calcular el valor futuro de una inversión (ahorro programado cuota fija) usando interes compuesto?

Vamos a suponer lo siguiente: En una cuenta bancaria, vamos a realizar depósitos iguales por un valor de $100.000 cada uno, durante 12 meses al comienzo de cada mes.

Durante estos doce meses, la entidad bancaria nos va a reconocer un interés mensual del 1%.

Cual sería el valor que nos entregaría el banco al finalizar el periodo de ahorro programado de 12 meses si la entidad reconoce intereses compuestos?

Para realizar este cálculo, vamos a utilizar la función: VF( ), que hace parte de las funciones financieras incluidas en el Excel.

En la imagen a continuación, podemos apreciar el planteamiento del problema, y la elaboración de la fórmula: