IntelliSense mejorado para VBA

IntelliSense es un conjunto de funciones de ayuda a la edición de código que permiten a los desarrolladores escribir código más rápido y con menos errores. A continuación, mostramos el uso de las extensiones de IntelliSense para VBA que ofrece Code VBA, más o menos en el orden en que las encontrarás mientras programas, y de más sencillas a más complejas.

Añadir un nuevo procedimiento

Submenú

Cuando empiezas a escribir un procedimiento, al teclear la s de «Sub», la f (Función) o la «pro» (propiedad) aparece inmediatamente el menú correspondiente. Al seleccionar la primera opción, se inserta el bloque común con el cursor justo antes de () para que puedas escribir el nombre del procedimiento.


Sub |()

End Sub

La primera vez que te encuentres con este comportamiento, te sorprenderá e incluso te molestará la interrupción. Por el contrario, quizá te des cuenta de que el menú ofrece algunas funciones que vale la pena explorar.

Declaración de variables

Dim menú de autocompletado para la declaración de variables

menú de dimensiones de Excel

Al escribir dim (una palabra clave de activación) se abre el menú de autocompletado de declaraciones de variables. Al seleccionar el tipo que necesites, se inserta la declaración estándar.

Dim wb| As Workbook

Introduce un nombre adecuado después del prefijo para completar la declaración.

Finalización de la declaración automática

De hecho, con la función «Auto Declare» ya no tienes que declarar las variables tú mismo. Por ejemplo, si escribes

strName=

... además de que aparece el menú de asignación (véase la siguiente sección), se ha añadido la siguiente declaración:


Dim strName As String
strName=

Sugerencias para la asignación de variables

nombre de la asignación de variable

En caso de una asignación de variable como la anterior, aparece un menú con sugerencias a la derecha. Esto depende del tipo de variable. En el ejemplo de la cadena «strName», hay muchas opciones; por citar solo algunas:

  • Un literal de cadena vacía "" para que lo rellenes
  • Una nueva variable, función o constante que se declarará automáticamente
  • Una variable ya definida en el procedimiento, posiblemente de tipo String, aunque Visual Basic también admite otros tipos.
  • Un nombre que aparezca en algún lugar de tu proyecto, o una carpeta o un nombre de archivo que se pueda seleccionar mediante un cuadro de diálogo.
  • A VBUna llamada a una función como Trim(...)
  • El valor de una propiedad de un objeto (ActiveCell.Value), etcétera
fecha de asignación de la variable

Ejemplo

Si asignamos un valor a la variable «Date», el menú se vería como en la captura de pantalla de la derecha. Puedes seleccionar e insertar código para

  • Tres literales que representan la fecha y/o la hora: #2/12/2026 7:58:06 AM# .
  • Utiliza el Date función que devuelve la fecha de hoy, o Now para la fecha y la hora.
  • Utiliza el DateAdd función para calcular una fecha y hora futuras.
  • Selecciona un fragmento de código para calcular una fecha futura, por ejemplo: First day in month: dt = DateSerial(Year(dt), Month(dt), 1). Hay disponible una amplia lista de funciones de fecha de este tipo, que se encuentran en el Biblioteca de Code VBA.

Sugerencias para la asignación de variables de objeto

ámbito de asignación de variables de objeto

La función de asignación de variables de objetos incluida aprovecha su profundo conocimiento de los objetos de las aplicaciones de Office pertinentes para sugerir cómo definir un objeto de un tipo determinado.

  • Los rangos siempre hacen referencia a una hoja. En este caso hemos seleccionado la Hoja1, pero el código también podría partir de una variable «Nueva hoja».
  • El código que se insertará al hacer clic en un elemento se muestra en una ventana emergente.
  • En el ejemplo actual, el menú tiene ..., lo que indica que al hacer clic en él se abrirá un cuadro de diálogo. En este caso, se trata del cuadro de diálogo «Generador de llamadas a procedimientos», que te permite especificar los detalles de los métodos de Range.
  • La palabra clave «Set» se añade automáticamente para que la asignación de la variable «Object» sea sintácticamente correcta.

Dim rng As Range
Set rng = Sheet1.Range(Cell1:="A4", Cell2:="D10")

Configuración de la finalización de frases

Esto se amplía aún más en el sentido de que, con la palabra clave de activación Set, conoce las variables de objeto del procedimiento actual y puede escribir sentencias completas combinando el conocimiento de qué objetos están disponibles con sus métodos, que pueden utilizarse para establecer un objeto relacionado.

Configuración de la finalización de frases
Aquí se utiliza la finalización de la instrucción SET para especificar el rango de suscripciones que debe aparecer en la hoja de cálculo «Cuenta».

Si se selecciona «Nueva variable de cadena» en el submenú «Rango», se genera el siguiente código - utilizando el nombre de variable predeterminado del cuadro de diálogo.


Dim strRange As String: strRange =
Set rngSubscriptions = wsAccount.Range(Cell1:=strRange)

A continuación, puedes asignar fácilmente el nombre que falta colocando el cursor después de «strRange =» y activando las sugerencias de finalización de la instrucción de asignación.

seleccionar rango
Utilizar el rango del menú de sugerencias

Dim strRange As String: strRange = "[Account4223.xlsm]Sheet1!B4:C6"

Sugerencia para completar el argumento

Al llamar a un procedimiento, a menudo hay que proporcionar argumentos para los parámetros del mismo. La función de autocompletado de argumentos resulta muy útil para esto. Funciona con todos los procedimientos del proyecto, ya sean personalizados o integrados, métodos de objetos o procedimientos de módulos.

  • Los argumentos que aún no se han proporcionado se pueden seleccionar por su nombre.
  • La información rápida de la ventana emergente describe para qué sirve el parámetro.
  • Selecciona como argumento la variable que necesites utilizar o crea una nueva, una propiedad de un objeto o incluso un procedimiento o fragmento de Code VBA.
autocompletado de argumentos de procedimiento

Bloque de instrucciones «If Then Else» con condición

Al escribir If, se abre el siguiente menú. La siguiente captura de pantalla muestra la creación de un bloque de instrucciones «If Then Else». Fíjate en que:

  • El If Then Else El menú «Menú» es la tercera opción de las cuatro principales del menú «Si».
  • Para obtener solo la estructura básica, selecciona la línea vacía de la segunda lista.
  • El resto de la segunda lista permite construir la parte de la condición.
  • Uso de tecla de acceso B Abre el submenú de VBA que contiene funciones y fragmentos de código que pueden utilizarse como partes de condiciones booleanas.
  • En la parte superior derecha se muestra el efecto al pasar el cursor Información rápida una ventana emergente con el código que se insertará al hacer clic en la opción del menú, una descripción del último procedimiento seleccionado (en este caso, la función IsDate) y la tecla F1 para indicar que hay ayuda en línea disponible.
Bloque de instrucciones «If Then Else» con condición

El código resultante, tal y como ya se ha mostrado en la ventana emergente:


If IsDate(str) Then

Else

End If