Ir al contenido principal

Entradas

Mostrando las entradas de 2011

Diseño de formularios en Excel

Los formularios son todas las interfaces posibles (ventanas) de un programa. La suma de muchos formularios con diferente funcionalidad es lo que conforman una aplicación o programa. Visto desde esta óptica cualquier aplicación instalada en nuestro computador es un formulario que hace parte de un programa. En el contexto de Microsoft Office cada aplicación(Word, Power Point, Excel) de la suite de oficina tiene formularios que nos ofrecen una funcionalidad con la que podemos interactuar mediante botones, cajas de texto, listas desplegables y muchas otras opciones.
Un ejemplo de formulario en Excel es "Formato de celdas" (Clic derecho sobre una o varias celdas), el cual nos ofrece la posibilidad de definir el tipo de datos, alineación, bordes, relleno y protección. No es comun que un usuario con conocimientos básicos de Excel inserte formularios, no así, aquellas personas con habilidades en macros.
Para iniciar su diseño, debemos traer a la memoria todo lo que sabemos sobre in…

Recursos para programar macros en Excel

Nadie nunca sabra lo suficiente para decir que no requiere de una buena guía o documento de apoyo al momento de desarrollar una macro. Pues este es mi caso, constantemente consulto recursos como páginas Web, libros y documentos de terceros. Para despedir este curso de Introducción a las Macros les comparto algunos de mis recursos que consulto (Muchos estan en Ingles, lo adverti, la mejor documentación esta en Ingles):
Páginas Web:

http://www.xltoday.net/
http://www.angelfire.com/biz7/julian_s/julian/julians_macros.htm
http://jmatos777.wordpress.com/excel/
http://office.microsoft.com/en-us/excel-help/overview-RZ102337714.aspx?section=1
http://www.mailxmail.com/curso-introduccion-macros-excel
http://officemacros.codeplex.com/
http://dmcritchie.mvps.org/excel/excel.htm
http://www.mundoexcel.com/
http://msdn.microsoft.com/es-es/library/ee814737.aspx
http://office.microsoft.com/es-es/excel-help/descripcion-general-RZ001150634.aspx?section=1
http://trucosdeexcel.com/
http://excelavanzado.com


Documento…

Estructuras repetitivas en Macros de Excel

Es comun en el trabajo con macros ejecutar una instrucción mas de una vez. Ejemplo se tienen 25.000 registros con nombre y apellido y se quieren seprar aquellos que empiezan con "Lo". La solución que aparece a nuestra vista es repetir la instrución tantas veces como se necesite. ¿No estamos locos?. Para repetir 25.000 veces la misma instrucción. Pues aqui es donde se requiere el uso de estructuras repetitivas que facilite repetir una misma instrucción tantas veces como sea necesario.
Para el presente post solo vamos a hablar de la estructura FOR ... NEXT. Su estructura de funcionamiento se muestra a continuación:
Dim contador as Integer  ' Creación de un contador que va incrementando con cada ejecución
contador = 1
For contador To 25.000     ' Repita las instrucciones desde el valor del contador hasta 25000
       Instrucción a repetir 25000 veces
Next contador      ' Incremente el contador


Algunos ejemplos practicos

Ejemplo 1

Llenar un rango de 19 celdas con v…

Ejercicio Condicionales usando Macros en Excel

La toma de decisiones es determinante en la secuencia de ejecución de una macro. Las herramientas que proporciona VBA para la toma de decisiones descansan en los condicionales. Un ejemplo de estructuras condicionales en Excel es la función "SI", la cual permite hacer una prueba lógica y tomar generar dos resultados posibles dependiendo si la prueba lógica es verdadera o falsa. "SI su estatura en metros es superior a 1.5 mts, puede ingresar a la montaña rusa, de lo contrario NO". En la afirmación anterior solo aquellos niños con una estatura superior a 1.5 tendrán acceso al juego mecánico, los demás niños simplemente estarán excluidos del juego hasta que cumplan el requisito de forma imperativa.
El lenguaje de macros permite 3 estructuras condicionales distintas:
a) IIF(prueba_lógica, verdadero, falso). Su resultado obligatoriamente debe asignarse a una variable
variable = IFF(3>1, "Verdadero", "Falso"). El tipo de variable puede ser numero, …

Formulas definidas por el usuario (UDF) - Macros en Excel

Las formulas o funciones de Excel  son el recurso principal para quienes su trabajo gira alrededor de una hoja de calculo, es por esto que cuando se habla de macros es imposible dejar de mencionarlas. Pero ¿Cuál es la diferencia entre una macro corriente y una formula?

La macro corriente se ejecuta a partir de una acción como un clic luego que es asignada a un boton, gráfico o simplemente desde el visor de macros usando la acción "Ejecutar".

Las formulas por el contrario inician con el simbolo "=" o "+" y las inserta el usuario en el momento que la requiere y la celda apropiada (Nada nuevo). La ventaja es que usando VBA puedo crear formulas propias de modo que simplemente usen los argumentos de mi interes.

Un pequeño ejemplo para aclarar:

Crear una función que convierta de grados Celsius a Farenheit. Esta formula no esta creada por defecto, en su remplazo hay otra que es convertir y que además de convertir grados tiene otras utilidades. Si lo que me inter…

Ejercicios de practica del modelo de objetos de VBA

1. Desarrolle una macro que cree un libro. Una vez creado el libro genere numeros aleatorios en el rango A1-F10. Luego seleccione el rango, haga una copia en 3 hojas del libro. Por último guarde el libro en la carpeta de documentos del computador.

2.  Utilice las funciones Inputbox y Msgbox para solicitar al usuario que digite 2 numeros y luego realice la suma de los numeros y muestrela mediante la función Msbox.

Utilice la ayuda del explorador de objetos para utilizar Inputbox y Msgbox.



Solución a los ejercicios - Actualización 6 de diciembre 2011

Ejercicio 1
**************************************

Sub ejercicio()
'Desarrollada por Juan David Cabrera Cardona

Workbooks.Add
Range("A1:F10").FormulaR1C1 = "=RANDBETWEEN(0,150)"
Range("A1:F10").Copy
Sheets("Hoja2").Paste
Sheets("Hoja3").Paste

'La ruta de la linea siguiente puede ser remplazada por una ruta valida en su computador
ActiveWorkbook.SaveAs Filename:="C:\Users\SALA4\D…

Variables y Tipos de datos - Macros en Excel

Las variables son útilies en la creación de Macros. Son de nuestro especial interés cuando deseamos desarrollar formulas personalizadas (User Defined Formulas). Para introducirnos en el tema de la creación de formulas, necesitamos reconocer los tipos de datos existentes y tener la capacidad de utilizarlos. A continuación se presenta una tabla con los tipos de datos y la capacidad de almacenamiento según el tipo.


Cada de uno de estos tipos de datos deben usarse en concordancia con el objetivo de la macro. El siguiente ejercicio muestra el uso de variables tipo entero (integer):

Entrar una cantidad que representa el precio de algo por el teclado con la instrucción InputBox y
guardarlo en la celda A1 de la hoja activa. Si el valor entrado desde el teclado (y guardado en A1) es superior a 1000, pedir descuento con otro InputBox y guardarlo en la casilla A2 de la hoja activa.
Calcular en A3, el precio de A1 menos el descuento de A2.

Sub variables1()
Dim Precio As Integer     'Variables ti…

Seleccionando celdas a través del objeto Range de VBA en Excel

Formas de seleccionar celdas con Range:

Una celda sóla:
Range("A1").Select

Un conjunto de celdas contiguas dentro de la misma hoja:
Range("A1:G5").Select

Para seleccionar celdas no contiguas:
Range("A1,A5,B4").Select

Para seleccionar celdas no contiguas mas un conjunto contiguo:
Range("A1,A5,B4:B8").Select

Para seleccionar la columna D
Range("D:D")

Para seleccionar la fila uno
Range("5:5")

Para seleccionar las columnas de la A a la C
Range("A:C")

Para seleccionar filas de la uno a la cinco
Range("1:5")

Para seleccionar las filas uno, tres y ocho
Range("1:1,3:3,8:8")

Para seleccionar las columnas A, C y F
Range("A:A,C:C,F:F")

Algunos ejemplos son tomados de http://cursovisualexcel.wordpress.com

Ejercicio Selección

Ejercicios Color

Modelo de Objetos de VBA (Visual Basic) - Aplicado en Excel

La gráfica a continuación explica el modelo de objetos usados por Visual Basic (VBA) en el desarrollo de macros en Excel.


Gráfica tomada de Excellentias.com
Para nuestro caso el termino "Application" hace referencia a Excel sin embargo como lo mencionamos en antiguos post, las macros funcionan en todo el contexto de Microsoft Office (Word, Access, Power Point, etc...) El modelo de objetos nos facilita hacer referencia a los componentes globales dentro de Excel, Eje. Libros, Hojas y Celdas (Rangos). El modelo tiene especial utilidad cuando en una macro se integran varias hojas o incluso diferentes libros o archivos de Excel. A continuación les dejo un enlace a un artículo con información detallada de cada una de las partes de modelo. Artículo Recomendado A modo de conclusión; es recomendable entender que el modelo de objetos de Excel resulta ser la clave para facilitar el desarrollo de macros en Excel.

Referencias Absolutas y Relativas

Hemos usado referencias absolutas y relativas en la mayoría de nuestras hojas de calculo, sin embargo siempre existe la duda de cuales son las relativas y cuales las absolutas. Para salir de la duda les dejo la siguiente presentación que lo explica en detalle.
Referencias Absolutas y relativas



Una vez que tenemos claro los conceptos, los debemos extrapolar a las macros y ver que su funcionamiento afecta significativamente su desarrollo.

Para evitar una expliación muy teórica les propongo desarrollar dos ejercicios y una vez completados responder a la pregunta. ¿Cual es la diferencia entre referencias Relativas y Absolutas dentro del contexto de el desarrollo de Macros?

Ejercicio1

Ejercicio2

Quedan abiertos los comentarios para resolver dudas o inconvenientes.

Seguridad en Macros de Excel

Las macros pueden llegar a ser muy peligrosas debido a su capacidad de ejecutar programas instalados en el Sistema Operativo o incluso descargar programas (virus, adware, troyanos) si estamos conectados a Internet. La solución no es tan trivial como tener un buen antivirus instalado, mas bien radica en que la fuente de la macro sea confiable. No esta por demás dar una mirada al código fuente y cerciorarse de su alcance.

A modo de ejemplo les dejo un archivo en Excel con una macro que ejecuta uno de los programas que vienen instalados por defecto en el Sistema Operativo Windows. Nada peligroso para nuestro computador.
Ejemplo

Recomendaciones técnicas:
1. Una vez en el interior de las opciones de Excel, diríjase al centro de confianza.
2. Configure Excel para que le informe cada vez que una macro quiera ejecutarse.
3. Deshabilite todos los controles ActiveX sin notificación.
4. Configure una carpeta de confianza donde guarde todos sus archivos con macros para que los pueda ejecutar sin …

Curso - Introducción a las Macros en Excel

Bienvenidos al curso de Introducción a las macros en excel. En este blog estaré publicando post relacionados con el desarrollo del curso. Los comentarios y sugerencias son totalmente bienvenidos!Presentación inicial curso Introducción a las Macros en Excel
View more presentations from Ricardo Peláez Negro

Enlace para descargar la presentación

Potencialidad de Macros en Excel

Aunque no soy un fanatico de la programación en VBA (Visual Basic), hay que aceptar que la potencialidad que tiene esta programación al interior de toda la suite de Microsoft Office es de admirar. No quiero discutir con mis amigos linuxeros (soy uno), fieles a las herramientas de software libre como OpenOffice o LibreOffice en las cuales se pueden hacer desarrollos semejantes o mejores :). El caso es que en el medio en que trabajo existe una gran afinidad por Excel y no renuncio a darles soporte en la creación y aplicación de las famosas Macros.

Para dar una muestra de las muchas cosas que se pueden hacer quiero compartir el vinculo a un ejercicio en Excel en el cual existe un listado de producto, referencia y precio desorganizado. La macro incluida en este archivo se encarga de solocionar el problema en tiempo record. (Si ud es Clark Kent no requiere de macros parar resolver el problema). 

Ejercicio Macro

Este ejercicio hace parte de una colección proporcionada en la siguiente dirección…

Importando a Excel desde Web

A partir de las siguientes direcciones URL importe a Excel.

http://money.cnn.com/magazines/fortune/fortune500/2008/full_list/index.html

http://www.seattlecentral.edu/qelp/sets/048/048.html#Show

Busque otras 3 direcciones URL que le permitan realizar la importación hacia Excel.
Existe alguna diferencia entre importar desde Web y copiar-pegar que normalmente utilizamos?

Tablas dinamicas y agrupación

La agrupación de campos en las tablas dinámicas nos permiten clasificar los campos actuales y generar nuevos informes a partir de la misma información o de modificaciones temporales que no se requieren en la base de datos original.

Este proceso puede parecer complejo, pero una vez que esta claro el objetivo de nuestro informe podremos agregar nuevas clasificaciones.

En el caso de las fechas, el agrupar campos nos permite clasificar con criterios de tiempo definidos como semestres, trimestres, meses e incluso horas, minutos y segundos.

Ejercicio

Creación de campos calculados y elementos calculados en un tabla dinámica

De acuerdo con la definición de Microsoft uncampo calculadoes: "campo de un informe de tabla dinámica o de gráfico dinámico que utiliza una fórmula que usted cree. Los campos calculados pueden realizar cálculos utilizando el contenido de otros campos del informe de tabla dinámica o de gráfico dinámico" y un elemento calculado es: "elemento de un campo de tabla dinámica o gráfico dinámico que utiliza una fórmula que usted cree. Los elementos calculados pueden realizar cálculos utilizando el contenido de otros elementos del mismo campo del informe de tabla dinámica o gráfico dinámico".
Teniendo en cuenta las anteriores definiciones y con el propósito de profundizar un poco en el tema de campos calculados, resuelva el siguiente ejercicio de tablas dinámicas.
Ejercicio
Quedo atento a sus dudas o comentarios.

Ejercicios prácticos de Tablas Dinámicas

Tablas dinámicas es una de las herramientas mas poderosas que trae Excel para la generación de informes, de ahi que muchas personas se interesan en aprender su utilización. A continuación se publican una recopilación de ejercicios practicos alrededor de las tablas dinámicas.


Ejercicios TD 

Su conceptualización es muy sencilla, sin embargo a partir de su correcta configuración podemos agregar valor a nuestros informes y facilitar la comprensión de tablas complejas.

Como una nota final, deseo aclarar que los ejercicios publicados en este post, son archivos de otros cursos liberados en paginas de Internet bajo libre acceso o dominio publico.

Validación de datos en Excel

La validación es una de las herramientas mas poderosas cuando tenemos un gran volumen de información y deseamos depurar o corregir. Excel ofrece una herramienta denominada validación y que nos permite ajustar los campos de una base de datos a nuestros requerimientos. 

Para comenzar propongo un ejercicio simple que nos permita conocer su funcionamiento básico.
Ejercicio de validación Ejercicio de validación Corregido

Texto en Columnas

Buscando sobre bases de datos en Excel

Facilitar las búsquedas en Excel, permite optimizar el tiempo de respuesta en nuestras actividades diarias. Sin embargo cuando existen bases de datos en distintas hojas de un mismo libro de Excel, esto puede ser una tarea tediosa. A continuación propongo un ejercicio que consolida las búsquedas de dos bases de datos en una sola hoja. 
Busquedas - Al digitar el numero de la historia clínica deben aparecer los demás campos solicitados. Revise que comandos podrían ser de ayuda. 
En caso de dudas envíenlas al correo.


Para los que quieran retar sus conocimientos, la propuesta es generar un botón de lista en la celda D4 que despliegue la totalidad de las historias clínicas.

Conceptos básicos de Excel

Hablar de Excel básico es un poco subjetivo, pues depende de las capacidades de cada uno frente a la herramienta. Sin embargo deseo proponer algunos ejercicios que permitan diagnosticar nuestras competencias frente a la resolución de problemas usando funciones matemáticas de Excel.

Funciones matemáticas

Ejer1 - Suma, Porcentaje, Promedio Ejer2 - Multiplicación, Sumas Ejer3 - Suma, Multiplicación, Diferencia
(Para desarrollar estos ejercicios descarguelos usando la opción Download)


Si ha solucionado los anteriores ejercicios sin mayor dificultad, a continuación propongo un nuevo reto. Si no los ha solucionado consulte la documentación anexa al final de esta entrada.


Funciones con texto


Listado1 - Concatenar, Minusculas <> Mayusculas <> Primera letra mayuscula 
Listado2


Documentación anexa


Es posible que existan dudas respecto de como formular las funciones así que también comparto un enlace donde encontrarán una documentación publicada por el señor Jorge Sánchez en su pagina Web. 


Fun…

Eliminar GPG EROR: en Debian

Este error se presenta despues de una actualización de fuentes con el comando apt-get update. Y ocurre porque no tenemos las llaves publicas de los repositorios desde los cuales estamos obteniendo el listado de paquetes, por esta razon debemos importar estas llaves publicas y agregargas dentro de nuestro "llavero" de claves publicas, si se le puede llamar así.
A continuación listo uno de los errores:
W: GPG error: http://security.debian.org lenny/updates Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY AED4B06F473041FA
Ahora los comandos de solución:
gpg --keyserver pgpkeys.mit.edu --recv-key AED4B06F473041FA gpg -a --export AED4B06F473041FA | apt-key add -
Estos comandos fueron ejecutados con privilegios de root.
Como un comentario quiero agregar que la llave publica tiene un identificador que es el que debemos colocar en los comandos de importación de llaves.