domingo, 26 de febrero de 2012

Curso Práctico Programación VBA Excel 2007: Control de Errores. Sesión 08.






Saludos!!!!!!!

Seguimos con las sesiones dedicadas al ejercicio que desarrollo en los cursos presenciales de VBA para Excel 2007 que imparto en Forem Navarra. Retomamos esta colección de vídeos con esta sesión en la que sobre todo vamos a practicar el control de los errores en tiempo de ejecución.

Los errores en tiempo de ejecución son aquellos que se producen cuando estamos ejecutando o usando el código. En tiempo de diseño pasan completamente desapercibidos y solo saltan cuando se dan las condiciones que los crean. Podemos estar utilizando el documento sin problemas durante un tiempo y de repente saltar el error. En nuestro ejemplo vamos a crear un control de errores en el procedimiento que se encarga de importar los datos de Access.

El acceso a datos externos desde código es un caldo de cultivo perfecto para que se produzcan este tipo de errores. Por ejemplo, en nuestro caso, siempre se busca la base de datos de la que se importan los datos en la carpeta en la que se encuentra el documento de Excel. Si no lo encuentra se producirá un error en tiempo de ejecución que provocará la interrupción del código y que el usuario pueda acabar en el editor de VB sin saber que hacer.

Esto no puede pasar y debemos controlar estas situaciones. En el vídeo veremos como controlar el caso específico de no encontrar la base de datos y todos los demás que se puedan producir al realizar la importación. Esta sesión la desarrollamos como paso previo a la siguiente en la que crearemos un formulario que nos permitirá indicar de qué base de datos se importan los datos del ejercicio.

miércoles, 15 de febrero de 2012

Curso Excel 2010. Funciones de Búsqueda y Referencia: BuscarV. Sesión 02.






Saludos!!!!!!!!!!!!!!!!!!!

Seguimos con el curso de Excel 2010. En esta sesión retomamos las funciones de Búsqueda y Referencia y seguimos creando ejemplos del uso de la función BuscarV. Como os comenté en la sesión anterior dependiendo de si habéis actualizado la versión 2010 al "Service Pack 1" deberéis utilizar BuscarV o ConsultaV. En mi caso como he actualizado uso BuscarV.

En la primera sesión hicimos ejemplos de la función BuscarV pero todo eran búsquedas con coincidencia exacta, es decir con el cuarto argumento a FALSO. Recordad que el cuarto argumento podía variar la manera en la que la función realiza su trabajo. Si escribíamos FALSO buscaba con coincidencia exacta, es decir si encuentra el dato que le doy para realizar la búsqueda, me devuelve el resultado que le hemos pedido. Y si no es así, devolvía el error “#N/A”, que indica que no ha encontrado lo que le he pedido.

Por el contrario con “VERDADERO” en el cuarto argumento, realiza una búsqueda aproximada y si no encontraba lo que le pedíamos, nos devolvía como resultado, el dato correspondiente al valor anterior más grande al que le hemos dicho que busque. Es decir me devuelve el resultado que corresponde al valor más alto que encuentre, sin pasarnos del que queríamos buscar.

En esta sesión nos vamos a centrar en esta segunda manera de funcionar del BuscarV, esta posibilidad es muy interesante para trabajar con rangos de datos en los que es imposible crear tablas para todas las posibilidades que se pueden dar. En el vídeo entenderéis esto mucho mejor. Además volveremos a utilizar esta función junto con la "SI", para ver un nuevo ejemplo de funciones anidadas.

Me he dejado de comentar algunos detalles de esta función, como el uso de caracteres comodín en las búsquedas. Pero como explicaré la función BuscarH y en las dos funciones se usan de la misma manera los explicaré en las sesiones que dedique a ese tema. Estas funciones dan para muchos vídeos.

sábado, 11 de febrero de 2012

Curso Excel 2010. Funciones de Búsqueda y Referencia: BuscarV. Sesión 01.






Saludos!!!!!!!!!!!!!!!!!!!

Continuamos con el curso de Excel 2010. En esta sesión retomamos el curso de Excel 2010 para seguir con las sesiones dedicadas a las funciones. En concreto comenzamos con las funciones de la categoría "Búsqueda y Referencia".

Fundamentalmente estas funciones sirven para buscar información, o mejor dicho, sirven para conseguir unos resultados que se obtienen mediante búsquedas en un conjunto de datos. Mejor vamos a poner ejemplos. El más típico podría ser el siguiente. En un documento de Excel tengo una factura que utilizo para registrar las ventas que realizo. Además de la factura tengo unas listas con los clientes y los productos que relleno en la factura.

Bueno, pues mediante las funciones de búsqueda podría conseguir por ejemplo, que al rellenar el NIF del cliente, automáticamente me rellene el resto de información del cliente, su nombre, dirección, teléfono. O relleno el código o referencia del producto y automáticamente me rellena el nombre del producto y el precio. Esto son algunos ejemplos de lo que se puede hacer, pero es solo la punta del Iceberg.

En esta sesión voy a empezar por la reina de las funciones de búsqueda, “BuscarV”, pero teniendo en cuenta el siguiente detalle. En la versión 2010 de Excel se le ha cambiado el nombre a esta función, pasa a llamarse “ConsultaV”, pero solo en la versión 2010 inicial. Si habéis instalado el “Service Pack 1” de la versión 2010 de Office, se vuelve a llamar “BuscarV”. Por lo tanto, si disponéis de la versión 2010 inicial debéis utilizar “ConsultaV”, si habéis actualizado al service pack debéis utilizar como nombre “BuscarV”. Yo como he actualizado, uso “BuscarV”, pero es lo único que cambia en la función, el nombre. Todo lo demás es igual.

Además del uso de la función volveré a realizar algún ejemplo de uso de funciones anidadas, usaremos la función BuscarV, junto con la función Si y la función Esnod.

sábado, 4 de febrero de 2012

Curso Práctico Programación VBA Excel 2007: Crear Formularios en Tiempo de Ejecución. Sesión 07.






Saludos!!!!!!!

Seguimos con las sesiones dedicadas al ejercicio que desarrollo en los cursos presenciales de VBA para Excel 2007 que imparto en Forem Navarra. Esta va ser la última sesión que publique de este tema, voy hacer un pequeño parón de una semana. Dentro de tres semanas empiezo un curso de VBA para Access 2010 y debo preparar o actualizar el manual para ese curso.

Como las sesiones de este tema cuestan mucho trabajo prepararlas hago este pequeño parón y mientras esté preparando el manual publicaré sesiones de otros temas que me cueste menos preparar. Pero no os preocupéis que no os abandono. De hecho es bueno, porque cuando tenga el manual preparado ya os podéis imaginar donde voy a reutilizar ese material.

Ahora vamos con esta sesión. En la sesión anterior hicimos una primera incursión en la creación de formulario. Creamos un pequeño formulario que mostraba unas estadísticas de los datos importados. Todo el trabajo de creación del formulario y sus controles lo hicimos en tiempo de diseño en el editor de VB. Las estadísticas se cargaban cuando se ejecutaba el código, pero los controles que las mostraban estaban creados en tiempo de diseño.

En esta sesión acabaremos ese formulario, pero en este caso los controles que vamos a crear no se harán en el editor, se crearán en tiempo de ejecución cuando se abra el formulario. Crearemos los controles necesarios para mostrar las estadísticas de los países de los que se han importado datos. Como en principio de una importación a otra puede haber diferentes países este trabajo no se pude realizar desde el editor. Dependiendo de cuantos países tengan datos importados aparecerán más o menos controles. Aquí podéis ver como quedará acabado.


Esta es una opción muy interesante que tienen los formularios y los controles, la posibilidad de ser creados en tiempo de ejecución. Igual que en la sesión anterior también utilizaremos las funciones de Excel desde código para calcular las estadísticas, en este caso las de cada país. Esta sesión va tener mucho más código que la sesión anterior, yo no me la perdería porque se tratan muchos temas secundarios que son muy interesantes.