VBA Excel: Un ejemplo del mundo real


a1

Supongamos que usted tiene un libro que contiene las listas de un gran número de hojas de trabajo y que desea cambiar el nombre de cada hoja de trabajo para que coincida con el encabezado de la lista en esa hoja de cálculo. No todas las hoja de cálculo tiene una lista en él, pero si lo hace, el título es en la celda B1, y si no lo hace, la celda B1 está en blanco. Los nombres de las hojas de trabajo sin listas deben ser dejados solos.
Por lo general, esto puede ser una tarea compleja que implica examinar cada hoja de cálculo para ver si tiene una lista, copiando el nombre, si lo hace, al hacer clic en la ficha hoja de cálculo y luego pegar en el nuevo nombre. En lugar de realizar todos estos pasos manualmente, utilice Excel VBA para cambiar el nombre de las hojas de forma automática.

Aprender acerca de los objetos

Para resolver un problema de programación VBA, primero debe averiguar qué objetos debe el código manipular. Para investigar esa información, una herramienta fundamental es el objeto de Excel Modelo de Referencia, que forma parte de la Referencia del programador de Excel 2007 en Microsoft Developer Network (MSDN).
Estos materiales de referencia se actualizará para Excel 2010, cuando se hizo público, pero el Excel 2007 Referencia del programador es adecuado para la mayoría de los propósitos de Excel 2010.
El primer paso es encontrar la manera de manipular los objetos particulares que tiene que trabajar para cumplir su tarea, por ejemplo, hojas de cálculo, los nombres de hoja de cálculo, celdas y contenido de celdas. En Excel, hay por lo menos dos maneras de abordar el problema:
• Ir directamente a la referencia del modelo de objetos.
• Anote algunas de las acciones que desee automatizar, ver cómo el código grabado manipula los objetos, y luego ir a la referencia del modelo de objetos para obtener más información.
Las opiniones varían sobre qué método es preferible, pero por ahora, trate de usar la grabadora de macros en primer lugar.

Utilización de la grabadora de macros

A veces una simple macro grabada es todo lo que necesita, en estos casos, no tienen ni siquiera para mirar el código. Más a menudo, la grabación por sí sola no es suficiente. En cambio, es un punto de partida en el proceso siguiente.
Para utilizar la grabadora de macros como punto de partida para su solución
1. Registrar las acciones que desea codificar.
2. Revise el código y encontrar las líneas que llevan a cabo esas acciones.
3. Elimine el resto del código.
4. Modificar el código grabado.
5. Añadir variables, estructuras de control y otros códigos que la grabadora de macros no puede grabar.
Comience su investigación mediante la grabación de una macro que cambia el nombre de una hoja de trabajo para el nuevo nombre. A continuación, puede utilizar la macro grabada para desarrollar su propia macro que cambia el nombre de varias hojas de cálculo basado en su contenido.

Para grabar una macro que cambia el nombre de una hoja de cálculo

1. Haga clic en Grabar macro en la ficha Programador.
2. Nombra los RenameWorksheets macro, cambie el nombre de la Hoja1 por el nuevo nombre y haga clic en Detener grabación.
3. Ir a la ficha Programador o Vista, haga clic en el botón Macros y seleccione Editar para abrir el Editor de Visual Basic.
El código en el Editor de Visual Basic debe ser similar a lo siguiente.

VB
Copiar
Sub RenameWorksheets ()

‘RenameWorksheets Macro


Sheets (“Sheet1”). Seleccione
Nombre Sheets (“Sheet1”). = “Nuevo nombre”
End Sub

Las primeras cuatro líneas después de la línea Sub son comentarios. Cualquier línea que comienza con un apóstrofe es un comentario y no tiene ningún efecto en lo que la macro. Los usos principales de los comentarios son los siguientes:
• Para hacer que el código sea más fácil de entender, no sólo para usted, sino para cualquier otra persona que podría tener que modificar el código más tarde.
• Para desactivar temporalmente una línea de código (llamada comentando hacia fuera).
Los cuatro comentarios en esta macro grabada servir ni fin, por lo que los elimine.
La línea siguiente se utiliza el método Select para seleccionar el miembro Sheet1 del objeto de la colección Sheets. En el código VBA, generalmente no es necesario seleccionar objetos antes de manipularlos, a pesar de que eso es lo que la grabadora de macros hace. En otras palabras, esta línea de código es redundante, por lo que puede eliminarla también.
La última línea de la macro grabada modifica el Nombre de la propiedad del miembro Sheet1 de la colección Sheets. Esta es la línea a seguir.
Después de realizar los cambios, el código grabado debería parecerse a la siguiente.
VB
Copiar
Sub RenameWorksheets ()
Nombre Sheets (“Sheet1”). = “Nuevo Nombre”
End SubCambie manualmente la hoja llamada Nuevo Nombre nuevo a la Hoja1, a continuación, ejecutar la macro. El nombre debe cambiar de nuevo a Nuevo Nombre

http://msdn.microsoft.com/library/ee814737.aspx#odc_Office14_ta_GettingStartedWithVBAInExcel2010_ARealWorldExample

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s