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: