Objeto VBA

En Microsoft Excel, un objeto VBA puede contener uno o más de un objeto. Tal como un solo libro de trabajo puede tener una o más de una hojas de trabajo. Libro de trabajo, Hoja de trabajo, Rango y celdas son los objetos en Excel. Cada objeto tiene sus propias propiedades. Y todos tienen un método de aplicación diferente. Digamos que el libro de trabajo es el objeto principal que tiene 2 hojas de trabajo. Esas 2 hojas de trabajo serán su objeto hijo. Una de las hojas tiene un rango, por lo que la hoja se convertirá en el objeto principal y el rango será su objeto secundario.

Cómo usar objetos en VBA

Veamos los ejemplos de objetos en Excel VBA.

Puede descargar esta plantilla de Excel de objetos VBA aquí - Plantilla de Excel de objetos VBA

Ejemplo # 1 - Objeto VBA

El objeto VBA se puede escribir de muchas maneras. Supongamos que necesitamos imprimir cualquier texto en una celda, para que esto se pueda hacer de varias maneras. Podemos usar directamente el valor del rango para esa celda. Este método directo no es parte de VBA Object sino un proceso de realización de una tarea que también podría realizar VBA Object. Para esto:

Paso 1: vaya a VBA e inserte un módulo desde la opción de menú Insertar como se muestra a continuación.

Paso 2: Ahora escriba la Subcategoría de la función realizada, como Objeto VBA en cualquier otro nombre según su elección, como se muestra a continuación.

Código:

 Sub VBAObject2 () End Sub 

Paso 3: Ahora seleccione la función de rango considerando cualquier celda, digamos la celda B3 con Valor como se muestra a continuación.

Código:

 Sub VBAObject2 () Rango ("B3"). Valor = Fin Sub 

Paso 4: ahora agregue texto o palabra en esa celda de rango como se muestra a continuación.

Código:

 Sub VBAObject2 () Range ("B3"). Value = "VBA Object" End Sub 

Paso 5: Ahora compile el código y ejecútelo presionando el botón de reproducción ubicado debajo de la barra de menú.

Ejemplo # 2 - Objeto VBA

Esta es la forma normal de imprimir texto en cualquier celda. Cómo veremos, cómo se puede hacer el mismo proceso cuando usamos VBA Object. Para esto, necesitaremos otro módulo nuevo. Y en eso

Paso 1: vaya a VBA e inserte un módulo desde la opción de menú Insertar como se muestra a continuación.

Paso 2: escriba la subcategoría del objeto VBA como se muestra a continuación.

Código:

 Sub VBAObject1 () End Sub 

Paso 3: Aquí veremos el objeto VBA completo de la categoría principal a la secundaria. Primero, seleccione el libro abierto actualmente con la ayuda del comando ThisWorkBook with Application como se muestra a continuación. Esto seleccionará el libro de trabajo que realmente se abrió y se seleccionó por última vez.

Código:

 Sub VBAObject1 () Application.ThisWorkbook End Sub 

Paso 4: Ahora seleccione la hoja que está abierta actualmente en el libro o también podemos escribir el nombre de la hoja de trabajo. Aquí, hemos escrito el nombre de la hoja Sheet1 en comillas invertidas como se muestra a continuación.

Código:

 Sub VBAObject1 () Application.ThisWorkbook.Sheets ("Sheet1") End Sub 

Paso 5: ahora viene el rango. Seleccione el rango de la celda donde necesitamos imprimir o insertar el texto. Aquí estamos seleccionando la celda B4 como se muestra a continuación.

Código:

 Sub VBAObject1 () Application.ThisWorkbook.Sheets ("Sheet1"). Range ("B4"). Value End Sub 

Paso 6: Finalmente, agregue el texto que necesitamos ver en la celda de Rango seleccionada como se muestra a continuación.

Código:

 Sub VBAObject1 () Application.ThisWorkbook.Sheets ("Sheet1"). Range ("B4"). Value = "VBA Object" End Sub 

Paso 7: Ahora compila y ejecuta el código. Veremos que la celda B4 tiene el texto "Objeto VBA".

Este proceso completo se llama Objeto VBA. En el que primero hemos seleccionado el objeto principal, es decir, el Libro de trabajo, que tiene su objeto secundario, es decir, Hoja1 y que tiene otro rango de objetos secundarios, es decir, la celda B4.

Ejemplo # 3 - Objeto VBA

Hay muchas formas diferentes de agregar texto a cualquier celda. Uno puede estar con Excel VBA Object y otros pueden estar sin él. En estas categorías, nuevamente hay muchas maneras de hacerlo. Veamos otra forma de agregar objetos VBA. Para esto, necesitaremos un módulo.

Paso 1: en ese módulo, agregue una subcategoría de objeto VBA, mejor que sea con el número de secuencia como se muestra a continuación.

Código:

 Sub VBAObject3 () End Sub 

Paso 2: Seleccione la hoja de trabajo agregando el nombre de la hoja de trabajo actual que es Hoja1 como se muestra a continuación.

Código:

 Sub VBAObject3 () Hojas de trabajo ("Hoja1"). End Sub 

Paso 3: ahora agregue el rango de la celda donde queremos ver la salida como se muestra a continuación.

Código:

 Sub VBAObject3 () Hojas de trabajo ("Hoja1"). Rango ("A3"). Valor Fin Sub 

Paso 4: Por último, dele un valor que podamos ver una vez que ejecutemos el código. Estamos considerando el mismo texto como se ve en el ejemplo 1.

Código:

 Sub VBAObject3 () Hojas de trabajo ("Hoja1"). Rango ("A3"). Valor = "Objeto VBA" Fin Sub 

Paso 5: ahora ejecuta el código. Veremos, la celda A3 obtuvo el texto que queríamos agregar allí como se muestra a continuación.

En este proceso, hemos agregado directamente la hoja de trabajo. Entonces la Hoja de trabajo se convertirá en nuestro Objeto y el Rango se convertirá en su objeto hijo.

Paso 6: hay otra forma de realizar la misma tarea. En el paréntesis de la hoja de trabajo, en lugar de escribir el nombre de la hoja, podemos escribir la secuencia de la hoja que es 1 como se muestra a continuación.

Código:

 Sub VBAObject3 () 'Hojas de trabajo ("Hoja1"). Rango ("A3"). Valor = "Objeto VBA" Hojas de trabajo (1). Rango ("B3"). Valor = "Objeto VBA" Fin Sub 

Paso 7: ahora ejecuta el código modificado. Veremos que la celda B3 tiene el mismo objeto VBA de texto que la celda A3 como se muestra a continuación.

Al mantener ambos códigos en línea, podemos ver y comparar los cambios que realizamos. De otra forma,

Paso 8: en lugar de la función Hoja de trabajo si usamos Hoja con secuencia y seleccionamos la celda C3 como rango como se muestra a continuación.

Código:

 Sub VBAObject3 () 'Worksheets ("Sheet1"). Range ("A3"). Value = "VBA Object"' Worksheets (1) .Range ("B3"). Value = "VBA Object" Sheet1.Range ("C3 ") .Value =" VBA Object "End Sub 

Paso 9: ahora ejecuta este código. Ya veremos, nuevamente se agregará el mismo texto en la celda de rango C3.

En todos los métodos que hemos visto en este ejemplo, la hoja de trabajo es nuestro objeto y el rango de la celda es un objeto secundario o un subobjeto.

Pros y contras del objeto Excel VBA

  • Podemos hacer tantos objetos y vincularlos para hundirlos.
  • El objeto VBA facilita el uso del Libro de trabajo, la Hoja y el Rango.
  • Esto permite a un usuario realizar cambios en un libro de trabajo, hoja de trabajo o rango específicos.
  • El mismo proceso puede ser realizado por un código mucho más corto con el mismo resultado.

Cosas para recordar

  • Hoja de trabajo y Hoja, ambas tienen el mismo uso.
  • Podemos seleccionar cualquier hoja de trabajo del mismo libro de cualquier secuencia numérica.
  • Al escribir grandes líneas de código, es importante formar un Objeto en el que se vinculen Libro de trabajo, Hojas de trabajo y Rangos de diferentes celdas.
  • Debe guardar el archivo en formato Excel habilitado para macros. Nos permite usar el código y cambiar el código cuando sea necesario.

Artículos recomendados

Esta es una guía para el objeto VBA. Aquí discutimos cómo usar Object en Excel VBA junto con ejemplos prácticos y una plantilla de Excel descargable. También puede consultar nuestros otros artículos sugeridos:

  1. ¿Cómo utilizar la función VBA IsNumeric?
  2. Crear cuadro combinado en Excel
  3. Insertar CheckBox en Excel
  4. Función VASE UCASE en Excel

Categoría: