¿Cómo agrego VBA en MS Office?

21

He visto publicaciones que muestran respuestas que usan códigos / macros de VBA ( Visual Basic para Aplicaciones ), sin embargo, también he notado comentarios adicionales sobre cómo usar el VBA (cómo implementarlo y ejecutarlo). Espero que esto ayude solo a ejecutar el código.

Entonces, mi pregunta es:

Tengo un código VBA. ¿Cómo agrego VBA a mi proyecto de MS Excel o Word o Outlook?

Dave
fuente
1
Estoy intentando crear una pregunta canónica. Siéntase libre de agregar cualquier otra pregunta a la que pueda hacer referencia / podemos cerrar, agregar etiquetas o editar la pregunta o respuesta para mejorarla o publicar respuestas.
Dave
Relacionado: superuser.com/q/794590/346288 - simple "kickstart" para depurar el código VBA.
Hannu

Respuestas:

19

Para abrir el editor de VBA en cualquier producto 1 de Microsoft Office , presione Alt+ F11.

A continuación, debe determinar cómo desea que se implemente su VBA. ¿Desea que se active por algún evento en el software, como el archivo que se guarda o la selección en la hoja de cálculo que se cambia? ¿O quieres poder ejecutar el código tú mismo cuando quieras?

Si es lo primero, eche un vistazo al Explorador de proyectos y busque el proyecto asociado con el archivo en el que está trabajando actualmente.

Si desea que su código sea activado por un evento asociado con una hoja en particular (p. Ej., El código debe ejecutarse cada vez que un valor cambia en la Hoja1), debe hacer doble clic en ese objeto de hoja específico que aparece en el Explorador de proyectos. Esto abrirá un cuadro de texto donde puede pegar el código. Si el evento está asociado con todo el libro de trabajo en lugar de una hoja en particular (por ejemplo, el código debe ejecutarse cuando se guarda el libro de trabajo), haga doble clic en el ThisWorkbookobjeto en el Explorador de proyectos.

Sin embargo, si no desea que su código sea activado por un evento, deberá colocar el código en un módulo. Si hay otro código en el documento o libro de trabajo, digamos de una macro grabada, aparecerá en un módulo. Si hay un módulo existente, en la mayoría de los casos, querrá pegar su código en el mismo módulo debajo de cualquier código existente. Los módulos existentes se enumerarán en el Explorador de proyectos.

Si no existe ningún módulo, deberá insertar uno nuevo. Para hacer esto, elija Moduledel Insertmenú desplegable en la ventana del editor de VBA. Esto insertará un nuevo módulo y mostrará una ventana de texto dentro de la ventana del editor. Pega tu código allí.

Si desea ejecutar el código en un módulo, tiene algunas opciones. Una es ejecutar el código desde la ventana del editor VBA. Simplemente puede colocar el cursor en algún lugar del código que desea ejecutar y presionar F5, o hacer clic en el botón Icono "reproducir": triángulo verde que apunta a la derecha(Ejecutar) en la barra de herramientas debajo de la barra de menú, para ejecutar el código.

Otra opción es usar el Macroscuadro de diálogo. Para abrirlo, realice una de las siguientes acciones:

  • en la Viewpestaña de la cinta, en el Macrospanel (extremo derecho), haga clic en el Macrosbotón
  • en la Developerpestaña, en el Codepanel (extremo izquierdo), haga clic en el Macrosbotón
  • presione Alt+F8

El cuadro de diálogo se ve así:

ingrese la descripción de la imagen aquí

En el ejemplo anterior, puede ejecutar YourCodepor

  • seleccionándolo de la lista y luego haciendo clic Run, o
  • seleccionándolo de la lista y haciendo doble clic en él.

______
1 Según ¿Puedo usar VBA en Excel 2010 Starter Edition? , no puede usar VBA en Excel 2010 Starter Edition.

Excellll
fuente
4

Estos pasos se realizan con Office 2010 (excepto donde se indique lo contrario), pero también deberían ser lo suficientemente similares para 2007 y 2013. Lo estoy haciendo con Excel pero las diferencias deberían ser sutiles.

El primer paso es agregar la pestaña Desarrollador a la cinta.

En Office 2007,

  1. Haga clic en "Menú de Office" -> " Opciones (del programa) ". ("Menú de Office" se refiere al Botón de oficinabotón en la esquina superior izquierda). Esto abre un menú que tiene un botón "Opciones de Excel", "Opciones de Word", etc., en la parte inferior.

  2. En el cuadro de diálogo de opciones, marque "Mostrar pestaña Desarrollador en la cinta de opciones": Menú de la oficina y haga clic en "Aceptar".

  3. Debería aparecer su nueva pestaña "Desarrollador".

En Office 2010 y 2013,

  1. Haga clic en Archivo -> Opciones .

  2. Elija Personalizar cinta de opciones .

  3. En el lado derecho, busque Desarrollador y marque la casilla. Haz clic en Aceptar .

  4. Debería aparecer su nueva pestaña, haga clic en ella y luego haga clic en Visual Basic .

Se muestra una pantalla desalentadora, que es la ventana de edición de código VBA.

Nota al margen : también puede abrir la ventana de edición de código VBA utilizando el método abreviado de teclado Alt+ F11(incluso si no se muestra la pestaña Desarrollador).

Dentro de la ventana de edición de código, en el lado izquierdo debería tener un panel llamado Project-VBAProject. En esto, debajo de los Objetos de Microsoft Excel (este nombre es diferente dependiendo del programa (Word, Outlook, etc.) que esté usando) es una 'cosa' llamada ThisWorkbook. Haga doble clic en ThisWorkbook

En este ejemplo, usaremos el siguiente código.

sub WarnMeOfDanger()
   MsgBox "Argh, a dragon is behind you!"
end sub 

Todo lo anterior hace es abrir un cuadro de diálogo para mostrar un mensaje en pantalla.

Copie el código y péguelo en la hoja blanca en la ventana de edición de código VBA.

Ahora, en la parte superior de la ventana del editor de código VBA, haga clic en el botón verde de reproducción y debería ver un mensaje.

Por lo tanto, cada vez que desee ejecutar el código, vuelva a esta pantalla y presione reproducir.

Sin embargo, es posible que prefiera agregar su propio botón. Si desea agregar un botón, primero, tenga en cuenta la primera línea del código WarnMeOfDanger(). Este es en realidad el nombre de nuestra ' subrutina '. Recordaremos esto para más tarde. Ahora, simplemente cierre la ventana que ha estado usando (el código se guarda automáticamente).

Aún en la cinta de desarrollador, haga clic en Insertar y elija el primer elemento, que es un botón. El cursor del mouse se convierte en una pequeña cruz (no enojado, me refiero a su apariencia). Dibuja el tamaño del botón. Aparece una nueva ventana y debería mostrarnos la opción de asignar el botón a una función. En este caso, deberíamos ver algo así ThisWorkbook.WarnMeOfDanger. Haga clic en esto y haga clic en Aceptar .

Ahora, si presiona su nuevo botón, se mostrará el mensaje. Haga clic derecho en el botón para obtener opciones para moverlo, cambiar el texto, cambiar el tamaño, etc.

Dave
fuente
¿Pregunta y respuesta de la misma persona? Extraño .......
Prasanna
2
@Prasanna, cuando haces una pregunta, tienes la opción de responderla de inmediato. Recuerde, es un sitio de preguntas y respuestas, por lo que siempre que sea relevante y útil, creo que es aceptado. Hay algunos de estos alrededor.
Dave
No lo sabía hasta ahora. Gracias por la información
Prasanna
2
Puede reemplazar los primeros pasos para acceder a la ventana de código con un simple "Alt + F11". :)
Ƭᴇcʜιᴇ007
@ Ƭᴇcʜιᴇ007, siéntase libre de editar lejos :) +1
Dave