martes, 9 de mayo de 2017

Usando el método GetOpenFilename de vba en nuestras Macros

Hoy vamos a trabajar con el método GetOpenFilename del objeto Application en Excel. 

Dicho método, lo podemos utilizar en las macros que escribamos en vba, cuando necesitemos que el usuario tenga que interactuar con la aplicación y deba suministrar un nombre de archivo y una ruta para que la macro realice alguna operación con el mismo.

Ademas, al hacerlo de esta forma le vamos a dar un toque mucho más profesional a nuestra macro.


Cuando invocamos el método GetOpenFilename abre el siguiente cuadro de diálogo:



Este cuadro es familiar para todos los que trabajamos con Excel o con cualquier aplicación de Office. Basta con navegar en las distintas carpetas hasta encontrar el archivo que queremos, seleccionarlo y dar clic en el botón Abrir.

 Lo que vamos a hacer es escribir una sencilla macro como ven a continuación:



La primera linea, llama el cuadro de diálogo y asigna el valor de retorno del mismo a la variable arch. Este método nos devuelve una cadena de texto que contiene el nombre del archivo y la ruta en la que este se encuentra.


sábado, 6 de mayo de 2017

Trabajando con la función FORMULATEXTO( ) de Excel. Muy útil para documentar nuestros modelos.

Hace un par de años, leyendo un libro de Modelación Financiera encontré un código en vba muy útil para documentar los distintos modelos que tenemos que construir en nuestro trabajo y en la universidad. Dicho código lo que hacía era extraer la fórmula que teníamos en una celda determinada y dejarla visible al lado como una cadena de texto.

Hoy, excel ya cuenta con una función para realizar esta tarea y no necesitamos escribir código en visual basic ni crear una función personalizada.

Vamos a escribir una fórmula sencilla en una celda de un archivo de excel:


Esta función nos sirve para calcular la tasa nominal. En este caso, estamos calculando la tasa nominal equivalente para una tasa efectiva anual del 30%. Si quieren conocer un poco más sobre esta función no olviden leer este post: Calcular la tasa mensual equivalente a partir de la efectiva anual utilizando la función: TASA.NOMINAL( )

Vamos a continuar llamando en A2 la función: FORMULATEXTO( ) de la siguiente manera:


jueves, 4 de mayo de 2017

Trabajando con Transacciones en Microsoft Access - vba

Hoy vamos a trabajar con transacciones en Microsoft Access. Así es, esa pequeña base de datos, que en mi opinión es un gran caballito de guerra, también trabaja con transacciones. 

Vamos a empezar por definir que es una transacción, en la página de Microsoft nos dicen que una transacción es: 

"Una transacción es una secuencia de operaciones realizadas como una sola unidad lógica de trabajo. Una unidad lógica de trabajo debe exhibir cuatro propiedades, conocidas como propiedades de atomicidad, coherencia, aislamiento y durabilidad (ACID), para ser calificada como transacción."

Lo que quiere decir que una transacción se compone de mas de una operación en una base de datos y que esta tiene validez únicamente si se completan todas o ninguna.

El ejemplo clásico de esto, son las dos operaciones que se realizarían en el aplicativo de un banco al momento de debitar una cuenta por un monto y acreditar otra por dicho valor. 

Dicha operación solo tiene validez si ambas operaciones se ejecutan. ¿Pensemos que pasaría si solo se debita la primera cuenta? Tendríamos una disminución en el saldo de la misma y la cuenta de destino no registraría ningún incremento, es decir: el dinero quedaría en una especie de limbo.

Para evitar esto, las dos operaciones se deben empaquetar en una transacción, así, esta solo tendrá validez si se ejecutan las dos o ninguna.

Pasemos de la teoría al ejemplo. Vamos a trabajar con una sencilla base de datos que solo tiene una tabla con la siguiente información:


Nuestra misión es debitar (disminuir) la cuenta de Eduardo en $100 y acreditar (incrementar) la cuenta de Diana en ese mismo valor utilizando una transacción.

miércoles, 3 de mayo de 2017

Trabajando con Excel Solver. Ejercicio 1: Problema de mezcla de producción y venta.

Hoy vamos a trabajar con la herramienta Solver, que es un complemento que está incluido en excel. Hay algunas versiones distintas que podemos descargar y pagar por ellas. Son más avanzadas y tiene funcionalidades adicionales, pero para los ejercicios que vamos a desarrollar en el blog, el que tiene por defecto excel es más que suficiente.

Empecemos entonces por entender como se activa este complemento. Damos clic en la opción archivo de nuestra barra de herramientas:


Damos clic en Opciones:


Y luego damos clic en la opción: Complementos:

lunes, 1 de mayo de 2017

Utilizando la función BUSCARH para obtener información de una tabla de excel

Hola a todos, recuerdan la función BUSCARV que vimos en este Post ? Hoy vamos a trabajar con otra función de búsqueda muy importante, algo así como el complemento de buscarv: BUSCARH. Si recuerdan, BUSCARV necesita que le digamos cuál es la tabla donde se va a ejecutar la búsqueda y el valor a buscar. 

BUSCARV toma la primera columna como el referente para encontrar el valor buscado y devuelve el valor que se encuentra en la columna que incluimos en los argumentos:


BUSCARH hace la misma operación, pero en vez de tomar la primera columna como referente de búsqueda, toma es la primera fila de la tabla y nos devuelve el valor que encuentra en la fila que le indiquemos: