Cómo abrir y usar el editor de Visual Basic en Excel

Cómo abrir y usar el editor de Visual Basic en Excel

El primer paso para usar VBA en Excel es familiarizarse con el editor de Visual Basic (también conocido como editor de VBA o editor de VB).

En este tutorial, cubriré todo lo que necesita saber sobre el editor de VBA, así como algunas opciones útiles que debe conocer al codificar en Excel VBA.

¿Qué es el Editor de Visual Basic en Excel?

El Editor de Visual Basic es una aplicación separada que forma parte de Excel y se abre cada vez que abre un libro de Excel.Por defecto está oculto, para acceder a él es necesario activarlo.

El editor de VB es donde se guarda el código de VB.

Puede obtener código en el editor de VB de varias maneras:

  1. Cuando graba una macro, crea automáticamente un nuevo módulo en el editor de VB e inserta el código en ese módulo.
  2. Puede escribir manualmente el código de VB en el editor de VB.
  3. Puede copiar código de otros libros de trabajo o de Internet y pegarlo en el editor de VB.

Abrir editor de VB

Hay varias formas de abrir el Editor de Visual Basic en Excel:

  1. Usar atajos de teclado (más fácil, más rápido)
  2. Usa la pestaña de desarrollador.
  3. Usar fichas de hojas de trabajo.

Echemos un vistazo rápido a cada uno.

Método abreviado de teclado para abrir el editor de Visual Basic

La forma más fácil de abrir el editor de Visual Basic es usar un atajo de teclado: ALT + F11(Mantenga presionada la tecla ALT y presione la tecla F11).

pregunta relacionada  Cómo cambiar el nombre de las hojas de trabajo en Excel (4 formas fáciles + accesos directos)

Después de hacer esto, se abrirá una ventana separada para el editor de Visual Basic.

Este atajo actúa como un conmutador, por lo que cuando lo use nuevamente, lo llevará de regreso a la aplicación Excel (sin cerrar el editor de VB).

Las teclas de acceso directo para la versión de Mac sonOptar+F11Fn + Opc + F11

Usar la pestaña de desarrollador

Para abrir el Editor de Visual Basic desde la cinta:

  1. Haga clic en la pestaña "Desarrollador" (si no ve la pestaña "Desarrollador", lea cómo obtenerla).
  2. En el grupo de código, haga clic en Visual Basic.

Botón Editor de Visual Basic en la cinta

Usar pestañas de hojas de trabajo

Esta es una forma menos utilizada de abrir el editor Vb.

Vaya a la pestaña de cualquier hoja, haga clic con el botón derecho y seleccione Ver código.

Ver código para abrir el editor de VB

Este método no solo abre el editor de VB, sino que también lo lleva a la ventana de código para ese objeto de hoja.

Esto es útil cuando desea escribir código que solo se aplica a una hoja específica.Este suele ser el caso de los eventos de la hoja de trabajo.

Anatomía del editor de Visual Basic en Excel

Cuando abre por primera vez el editor de VB, puede parecer un poco abrumador.

Hay diferentes opciones y secciones que pueden parecer nuevas en un principio.

Además, todavía tiene el aspecto antiguo de Excel 97 días.Si bien Excel ha mejorado mucho en diseño y usabilidad a lo largo de los años, la apariencia del editor de VB no ha cambiado de ninguna manera.

En esta sección, lo guiaré a través de las diferentes partes de la aplicación Editor de Visual Basic.

Nota: cuando comencé a usar VBA hace algunos años, estaba abrumado con todas estas nuevas opciones y ventanas.Pero cuando te acostumbres a VBA, estarás contento con la mayor parte.La mayoría de las veces, no necesita usar todas las opciones, solo una mano.

A continuación se muestran imágenes de los diferentes componentes del editor de VB.Estos se describen en detalle en las siguientes secciones de este tutorial.

Diferentes partes del editor de VB en Excel

Ahora echemos un vistazo rápido a cada componente y veamos qué hace:

Barra de menús

Aquí es donde están todas las opciones que puedes usar en el editor de VB.Es similar a la cinta de opciones de Excel, donde cada pestaña tiene pestañas y opciones.

Puede explorar las opciones disponibles haciendo clic en cada elemento del menú.

Notará los atajos de teclado mencionados junto a la mayoría de las opciones en el editor de VB.Usar el editor de VB se vuelve muy fácil una vez que te acostumbras a algunos atajos de teclado.

barra de herramientas

De forma predeterminada, el editor de VB tiene una barra de herramientas con algunas opciones útiles que puede necesitar con más frecuencia.Es como la barra de herramientas de acceso rápido en Excel.Le da acceso rápido a algunas opciones útiles.

Puede personalizarlo un poco eliminando o agregando opciones (haciendo clic en la pequeña flecha hacia abajo al final de la barra de herramientas).

Agregar o eliminar opciones de la barra de herramientas

En la mayoría de los casos, solo necesita la barra de herramientas predeterminada cuando usa el editor de VB.

Puede mover la barra de herramientas por encima de la barra de menú haciendo clic en los tres puntos grises (al principio de la barra de herramientas) y arrastrándolos por encima de la barra de menú.

Nota: hay cuatro barras de herramientas en el editor de VB: estándar, depuración, edición y formulario de usuario.Lo que ve en la imagen de arriba (y también la predeterminada) es la barra de herramientas estándar.Puede acceder a otras barras de herramientas yendo a la opción Ver y pasando el cursor sobre la opción Barras de herramientas.Si lo desea, puede agregar una o más barras de herramientas al editor de VB.

Navegador de proyectos

El Explorador de proyectos es una ventana a la izquierda que muestra todos los objetos actualmente abiertos en Excel.

Al usar Excel, cada libro de trabajo abierto o complemento es un proyecto.Cada uno de estos elementos puede contener un conjunto de objetos.

Por ejemplo, en la siguiente imagen, el Explorador de proyectos muestra dos libros de trabajo abiertos (Book1 y Book2) y los objetos en cada libro de trabajo (hojas de trabajo, ThisWorkbook y módulos en Book1).

Hay un ícono más a la izquierda de los objetos que puede usar para contraer la lista de objetos o expandir y ver la lista completa de objetos.

Explorador de proyectos en Excel VBA Editor

Los siguientes objetos pueden formar parte del Explorador de proyectos:

  1. Todos los libros de trabajo abiertos: dentro de cada libro de trabajo (también llamado proyecto) puede tener los siguientes objetos:
    • 工作trabajo para cada hoja de trabajo en el libroobjeto de mesa
    • Objeto ThisWorkbook, que representa el propio libro
    • de cada hoja de gráficoHoja de gráfico Objeto(Estos no son tan comunes como las hojas de trabajo)
    • módulo- Aquí es donde reside el código generado usando la grabadora de macros.También puede escribir o copiar y pegar código VBA aquí.
  2. Todos los complementos abiertos

Piense en Project Explorer como un lugar para delinear todos los objetos abiertos en Excel en un momento dado.

El atajo de teclado para abrir Project Explorer esControlar + R(Mantenga presionada la tecla de control, luego presione R).Para cerrarlo, simplemente haga clic en el icono de cerrar en la esquina superior derecha de la ventana del Explorador de proyectos.

Nota: Para cada objeto en el Explorador de proyectos, hay una ventana de código donde puede escribir código (o copiar y pegar desde algún lugar).La ventana de código aparece cuando hace doble clic en un objeto.

Ventana de propiedades

La ventana Propiedades es donde puede ver las propiedades del objeto seleccionado.Si aún no tiene la ventana Propiedades, puede usar el método abreviado de teclado F4 (o ir a la pestaña Ver y hacer clic en la ventana Propiedades) para obtenerla.

pregunta relacionada  Cómo eliminar el formato de celda (de todas las celdas específicas en blanco) en Excel

La ventana Propiedades es una ventana flotante que puede acoplar en el editor de VB.En el siguiente ejemplo, lo he acoplado en el Explorador de proyectos.

Ventana de propiedades acoplada debajo del Explorador de proyectos

La ventana de propiedades nos permite cambiar las propiedades del objeto seleccionado.Por ejemplo, si quiero que la hoja esté oculta (o muy oculta), puedo hacerlo cambiando la propiedad Visible del objeto de hoja seleccionado.

Cambiar la propiedad visible de una hoja de trabajo en la ventana de propiedades

ventana de código

Cada objeto enumerado en el Explorador de proyectos tiene una ventana de código.Puede abrir la ventana de código de un objeto haciendo doble clic en el objeto en el área del Explorador de proyectos.

La ventana de código es donde escribe código o copia y pega código de otro lugar.

Cuando graba una macro, su código entra en la ventana de código del módulo.Excel inserta automáticamente un módulo para poner su código cuando graba una macro.

ventana inmediata

La ventana inmediata se usa principalmente para depurar código.Una forma en que uso la Ventana Inmediata es usar la instrucción Print.Debug en mi código y luego ejecutar el código.

Me ayuda a depurar mi código e identificar dónde está atascado.Si obtengo el resultado de Print.Debug en la ventana Inmediato, sé que el código es válido al menos hasta esa línea.

Si es nuevo en la codificación de VBA, puede llevar algún tiempo depurar usando la ventana Inmediato.

De forma predeterminada, la ventana Inmediato no está visible en el editor de VB.Puede obtenerlo con el método abreviado de teclado Control + G (o puede ir a la pestaña Ver y hacer clic en Ventana inmediata).

Dónde agregar código en el editor de VB

Espero que ahora tenga una comprensión básica de lo que es el editor de VB y todas sus partes.

En esta parte del tutorial, le mostraré dónde agregar código VBA en el editor de Visual Basic.

Hay dos lugares para agregar código VBA en Excel:

  1. Ventana de código del objeto.Estos objetos pueden ser libros de trabajo, hojas de trabajo, formularios de usuario, etc.
  2. La ventana de código para el módulo.

Ventana de código de módulo frente a ventana de código de objeto

Primero, permítanme descubrir rápidamente la diferencia entre agregar código en un módulo y agregar código en la ventana de código de destino.

Cuando agrega código a cualquier objeto, depende de alguna acción en ese objeto que activará el código.Por ejemplo, si quisiera mostrar todas las hojas de trabajo en el libro de trabajo tan pronto como se abriera, el código entraría en el objeto ThisWorkbook (que representa el libro de trabajo).

En este caso, el disparador es abrir el libro.

Asimismo, si desea proteger una hoja inmediatamente después de activar otra hoja, el código irá a la ventana de código de hoja.

Estos disparadores se denominan eventos y puede asociar código para que se ejecute cuando ocurra el evento.

En su lugar, el código del módulo debe ejecutarse manualmente (o también puede llamarse desde otras subrutinas).

Cuando graba una macro, Excel crea automáticamente un módulo e inserta el código de macro grabado en él.Ahora, si tiene que ejecutar este código, debe ejecutar la macro manualmente.

Agregar código VBA al módulo

Si bien la grabación de una macro crea automáticamente un módulo e inserta el código en él, existen algunas limitaciones al usar la grabadora de macros.Por ejemplo, no puede usar bucles o condiciones If Then Else.

En este caso, es mejor copiar y pegar el código manualmente o escribirlo usted mismo.

Los módulos se pueden usar para contener los siguientes tipos de código VBA:

  1. declaración: Puede declarar variables en módulos.Declarar una variable le permite especificar el tipo de datos que puede contener la variable.Puede declarar variables solo para una subrutina o para todas las subrutinas en un módulo (o todos los módulos)
  2. subrutina (procedimiento): Este es el código que contiene los pasos que desea que realice VBA.
  3. proceso funcional: este es un código que devuelve un valor único que puede usar para crear una función personalizada (también conocida como función definida por el usuario o UDF en VBA)

De forma predeterminada, los módulos no forman parte del libro de trabajo.Debe insertarse antes de su uso.

Agregar módulos en el editor de VB

Estos son los pasos para agregar un módulo:

  1. Haga clic derecho en cualquier objeto del libro de trabajo (donde desea que esté el módulo).Haga clic derecho en cualquier objeto
  2. Pase el cursor sobre la opción de inserción.
  3. Haga clic en el módulo.haga clic en el módulo

Esto creará inmediatamente una carpeta llamada Módulo e insertará un objeto llamado Módulo1.Si ya ha insertado un módulo, los pasos anteriores insertarán otro módulo.

Insertar un módulo en el editor de VB

Después de insertar el módulo, puede hacer doble clic en el objeto del módulo en el explorador de proyectos y se abrirá la ventana de código.

Ahora puedes copiar y pegar el código o escribirlo tú mismo.

Retire el módulo

Estos son los pasos para eliminar un módulo en Excel VBA:

  1. Haga clic derecho en el módulo que desea eliminar.
  2. Haga clic en la opción Eliminar módulo.Eliminar los módulos de un proyecto en el editor de VB
  3. En el cuadro de diálogo que se abre, haga clic en No.Consejos antes de quitar módulos

Nota: Puede exportar el módulo antes de eliminarlo.Se guarda como un archivo .bas que puede importar a otros proyectos.Para exportar un módulo, haga clic con el botón derecho en el módulo y haga clic en Exportar archivo.

Agregar código a la ventana de código de objeto

Para abrir la ventana de código de un objeto, simplemente haga doble clic en él.

Cuando se abre, puede ingresar el código manualmente o copiar y pegar el código de otros módulos o de Internet.

Tenga en cuenta que algunos objetos le permiten seleccionar eventos para los que desea escribir código.

Por ejemplo, si desea escribir un código para lo que sucede cuando se selecciona un cambio en una hoja de trabajo, primero debe seleccionar la hoja de trabajo de la lista desplegable en la esquina superior izquierda de la ventana de código, luego seleccione Cambiar evento de la lista desplegable - a la derecha.

Evento de cambio de selección en la ventana de código de VBA

Nota: Estos eventos son específicos de los objetos.Cuando abra la ventana de código de un libro de trabajo, verá eventos relacionados con el objeto del libro de trabajo.Cuando abra la ventana de código de una hoja de trabajo, verá eventos relacionados con el objeto de la hoja de trabajo.

Editor VB personalizado

Si bien la configuración predeterminada del editor de Visual Basic es lo suficientemente buena para la mayoría de los usuarios, le permite personalizar aún más la interfaz y algunas funciones.

En esta parte del tutorial, le mostraré todas sus opciones al personalizar el editor de VB.

Para personalizar el entorno del editor de VB, haga clic en Herramientas en la barra de menú, luego haga clic en Opciones.

Esto abrirá el cuadro de diálogo Opciones, que le dará todas las opciones de personalización en el editor de VB.El cuadro de diálogo Opciones tiene cuatro pestañas (que se muestran a continuación) con varias opciones de personalización para el editor de Visual Basic.

Opciones para personalizar el editor de Vb

Echemos un vistazo rápido a cada pestaña y las opciones importantes dentro de cada una.

pestaña del editor

Si bien la configuración integrada funciona bien en la mayoría de los casos, permítanme explorar las opciones en esta pestaña.

A medida que adquiera más experiencia con VBA en Excel, es posible que desee personalizar el editor de VB con algunas de estas opciones.

Verificación automática de gramática

Al usar VBA en Excel, tan pronto como se produce un error de sintaxis, aparece un cuadro de diálogo (con alguna descripción del error).Como se muestra abajo:

pregunta relacionada  Cómo ver quién te dejó de seguir en Instagram

Comprobación automática de sintaxis en las opciones del editor de Visual Basic

Si esta opción está deshabilitada, esta ventana emergente no aparecerá incluso si hay un error de sintaxis.Sin embargo, el color del texto del código cambia para indicar un error.

Si eres principiante, te recomiendo habilitar esta opción.A medida que adquiera más experiencia con la codificación, puede comenzar a encontrar molestos estos popups, y puede desactivar esta opción.

declaración de variable requerida

Esta es una opción que recomiendo habilitar.

Cuando usa VBA, usa variables para contener diferentes tipos de datos y objetos.

Cuando habilita esta opción, automáticamente inserta una declaración de "Opción explícita" en la parte superior de la ventana de código.Esto te obliga a declarar todas las variables que usas en tu código.Si no declara la variable e intenta ejecutar el código, obtendrá un error (como se muestra a continuación).

Error variable no declarado en Excel VBA

En el ejemplo anterior, utilicé la variable Var, pero no la declaré.Entonces, cuando intento ejecutar el código, muestra un error.

Esta opción es útil cuando tiene muchas variables.Por lo general, me ayuda a encontrar nombres de variables mal escritos, ya que se tratan como no declarados y muestran errores.

Nota: Cuando esta opción está habilitada, no afectará a los módulos existentes.

Miembros de la lista automática

Esta opción es útil porque le ayuda a obtener una lista de propiedades de un método de objeto.

Por ejemplo, si quiero eliminar una hoja (Hoja1), necesito usar la fila Hoja1.Eliminar.

Cuando ingreso el código, tan pronto como ingrese el punto, muestra todos los métodos y propiedades asociados con el objeto Hoja de trabajo (que se muestra a continuación).

Opción de miembro de lista automática en el editor de VB

La función de lista automática es excelente porque le permite:

  • Ahorre tiempo seleccionando rápidamente propiedades y métodos de las listas
  • Te muestra todas las propiedades y métodos que quizás no conozcas.
  • Evita las faltas de ortografía

Esta opción está habilitada de forma predeterminada y recomiendo mantenerla así.

Opción de información rápida automática

Cuando escribe una función en una hoja de cálculo de Excel, le muestra información sobre la función, como los argumentos que toma.

Del mismo modo, cuando escribe una función en VBA, le mostrará cierta información (que se muestra a continuación).Pero para hacer esto, debe asegurarse de que la opción "Información rápida automática" esté habilitada (de forma predeterminada).

Opción de información rápida automática en el editor de VB

Opción de punta de datos automática

Cuando recorre el código línea por línea y coloca el cursor sobre el nombre de la variable, se mostrará el valor de la variable.

Lo encuentro útil al depurar código o recorrer código que contiene bucles.

Opción Sugerencias automáticas de datos en las opciones del editor de Visual Basic

En el ejemplo anterior, tan pronto como coloco el cursor sobre la variable (var), muestra el valor que contiene.

Esta opción está habilitada de forma predeterminada y le recomiendo que la mantenga así.

sangría automática

Dado que el código VBA puede volverse detallado y desordenado, el uso de sangría aumenta la legibilidad del código.

Al escribir código, puede usar la tecla de tabulación para sangrar.

Esta opción asegura que cuando finaliza una línea sangrada y presiona Entrar, la siguiente línea no comienza desde el principio, sino que tiene la misma sangría que la línea anterior.

Habilite la sangría en la ventana de código del editor de VB

En el ejemplo anterior, después de escribir la línea Debug.Print y presionar enter, comienza justo debajo (con el mismo nivel de sangría).

Encuentro útil esta opción, desactivarla significa sangrar manualmente cada línea en un bloque de código que quiero sangrar.

Puede cambiar el valor de sangría si lo desea.Lo mantengo por defecto.

Edición de texto con arrastrar y soltar

Cuando esta opción está habilitada, le permite seleccionar bloques de código y arrastrarlos y soltarlos.

Ahorra tiempo porque no tiene que cortar y pegar primero.Simplemente puede seleccionarlo y arrastrarlo.

Esta opción está habilitada de forma predeterminada y le recomiendo que la mantenga así.

Predeterminado a vista de módulo completo

Cuando esta opción está habilitada, podrá ver todos los procedimientos en el módulo en una lista desplazable.

Si esta opción está deshabilitada, solo puede ver un módulo a la vez.Debe seleccionar el módulo que desea ver de la lista desplegable en la esquina superior derecha de la ventana de código.

Esta opción está habilitada de forma predeterminada y recomiendo mantenerla así.

Una razón por la que podría querer desactivarlo es cuando tiene varios programas voluminosos y desplazarse por ellos lleva tiempo, o cuando tiene muchos programas y desea encontrarlos rápidamente en lugar de perder el tiempo mientras se desplaza.

separador de programas

Cuando esta opción está habilitada, verá una línea (una especie de divisor) entre los dos procesos.

Encuentro esto útil ya que muestra visualmente cuándo finaliza un proceso y comienza otro.

Opción de separador de procedimientos en el editor de VB

Está habilitado de forma predeterminada, y recomiendo mantenerlo así.

Ficha Formato del editor

Con las opciones de la pestaña Formato del editor, puede personalizar la apariencia de su código en la ventana de código.

Personalmente, mantengo todas las opciones predeterminadas porque estoy bien.Puedes ajustarlo a tu gusto si es necesario.

Para realizar cambios, primero debe seleccionar una opción en el cuadro de color del código.Después de seleccionar una opción, puede modificar los colores de primer plano, fondo e indicador.

El tipo de fuente y el tamaño de fuente también se pueden configurar en esta pestaña.Se recomienda una fuente de ancho fijo como Courier New, ya que hace que el código sea más legible.

Tenga en cuenta que la configuración de tipo y tamaño de fuente seguirá siendo la misma para todos los tipos de código (es decir, todos los tipos de código que se muestran en el cuadro de color del código).

A continuación se muestra la imagen con mis puntos de interrupción seleccionados y puedo cambiar su formato.

Opciones de formato del editor en el editor de VB

Nota: Cuando la opción de barra indicadora de margen está habilitada, aparece una pequeña barra de margen a la izquierda del código.Esto es útil porque muestra métricas útiles mientras se ejecuta el código.En el ejemplo anterior, cuando establece un punto de interrupción, muestra automáticamente un punto rojo a la izquierda de la línea en la barra de margen.Alternativamente, para establecer un punto de interrupción, simplemente puede hacer clic en la barra de margen a la izquierda de la línea de código que desea establecer como punto de interrupción.

De manera predeterminada, la barra indicadora de márgenes está habilitada y recomiendo mantenerla así.

Una de mis estudiantes de clase de VBA encontró útil esta opción personalizada y es daltónica.Usando las opciones aquí, pudo configurar los colores y el formato para poder usar VBA fácilmente.

Pestaña General

La pestaña General tiene muchas opciones, pero no necesita cambiar ninguna de ellas.

Te recomiendo que mantengas todas las opciones como están.

Una opción importante para entender en esta pestaña es el manejo de errores.

De forma predeterminada, se selecciona "Interrumpir en errores no controlados", y recomiendo mantenerlo así.

Esta opción significa que si su código encuentra un error y no ha manejado ese error en su código, se romperá y se detendrá.Sin embargo, si ha resuelto el error (por ejemplo, mediante el uso de las opciones On Error Resume Next o On Error Goto), entonces no se interrumpirá (ya que el error no se soluciona).

Pestaña de acoplamiento

En esta pestaña puede especificar las ventanas que se acoplarán.

Acoplamiento significa que puede colocar una ventana (como el Explorador de proyectos o la ventana Propiedades) para que no flote y pueda ver todas las diferentes ventanas al mismo tiempo.

Si no se acopla, podrá ver una ventana a la vez en modo de pantalla completa y tendrá que cambiar a otra.

Recomiendo mantener la configuración predeterminada.

Oh hola 👋Un placer conocerte.

Suscríbete a nuestro boletín, Envía con mucha regularidadGran tecnologiaA tu publicacióncaja.

Enviar comentario