Hojas de trabajo de VBA - ¿Cómo usar el objeto de hoja de trabajo en VBA?

Tabla de contenido

Hojas de trabajo de Excel VBA

Excel es un libro de trabajo y en ese libro de trabajo, contiene hojas de trabajo u hojas. Es muy importante comprender el concepto de hojas de trabajo en VBA porque todo el tiempo trabajamos con hojas de trabajo. En un archivo de Excel normal, lo llamamos hojas, pero en la terminología de VBA se llama "Hoja de trabajo". Todas las colecciones de una hoja de trabajo se denominan "Hojas de trabajo".

En VBA, la hoja de trabajo es un objeto. Hay dos formas de referirse a la hoja de trabajo, una usando el objeto "Hoja de trabajo" y otra usando el objeto "Hojas".

Sé que tu pregunta es cuál es la diferencia entre ellos. En Excel, podemos ver dos tipos de hojas, una son hojas de trabajo regulares y otra son hojas de gráficos.

La pestaña de la hoja de trabajo en Excel considera solo las hojas de trabajo del libro de trabajo, excepto las hojas de gráficos. “Hojas” considera todas las hojas de trabajo del libro de trabajo, incluida la hoja de gráficos. Por ejemplo, mire la imagen de abajo.

En lo anterior, tenemos un total de 5 hojas. De estas 5 hojas, 3 son hojas de trabajo y 2 son hojas de gráficos.

Aquí el recuento de "Hojas de trabajo" es 3 y el recuento de "Hojas" es 2.

Ahora, mire la imagen de abajo.

Aquí todas las hojas son hojas de trabajo, por lo que la cantidad de "Hoja de trabajo" y "Hojas" es 3.

Entonces, como parte del código, si desea usar hojas de trabajo, los objetos recuerdan este punto.

Sintaxis de las hojas de trabajo de VBA

Como dije, la hoja de trabajo es una variable de objeto. Sin embargo, esto también tiene sintaxis.

El índice no es nada que sea el número de la hoja de trabajo al que nos referimos. Como puede ver al final, se lo conoce como Objeto.

Por ejemplo, Hoja de trabajo (1). Seleccionar significa seleccionar la primera hoja de trabajo del libro de trabajo. No importa cuál sea el nombre de la hoja de trabajo; se seleccionará la hoja de trabajo insertada primero en el libro de trabajo.

También podemos referirnos a la hoja de trabajo por su nombre. Necesitamos mencionar el completo ya que es un nombre de hoja de trabajo entre comillas dobles.

Por ejemplo, Hoja de trabajo ("Hoja de ventas"). Seleccionar significa seleccionar la hoja llamada "Hoja de ventas". Aquí no importa cuál sea el número de la hoja de trabajo, siempre selecciona la hoja de trabajo especificada.

¿Cómo usar el objeto de hojas de trabajo en VBA?

Ejemplo 1

Por ejemplo, suponga que tiene un total de 5 hojas en su libro de trabajo, y el nombre de esas hojas de trabajo es “Hoja de trabajo 1”, “Hoja de trabajo 2”, “Hoja de trabajo 3”, “Hoja de gráfico 1” y “Hoja de gráfico 2”.

Si utilizo la numeración para seleccionar la hoja de trabajo, entonces puedo usar el número como referencia de la hoja de trabajo.

Hoja de trabajo (2). Seleccionar significa que seleccionará la segunda hoja de trabajo del libro de trabajo.

Código:

Sub Worksheet_Example1 () Worksheets (2) .Seleccione End Sub

Ejecutaré este código usando la tecla F5 o manualmente y veré el resultado.

Ahora cambiaré el número de hoja a 3.

Código:

Sub Worksheet_Example1 () Worksheets (3) .Seleccione End Sub

Ahora vea lo que sucede cuando ejecuta el código manualmente o usando el código de tecla F5.

Si nos fijamos en la imagen de arriba, que había seleccionado la 4 ª hoja de trabajo cuando le pregunté para seleccionar el 3 rd hoja de trabajo.

Esto se debe a que he usado el objeto Hoja de trabajo, no el objeto Hojas. Como dije anteriormente, el objeto "Hojas de trabajo" considera solo hojas de trabajo, no hojas de gráficos.

Para seleccionar la tercera hoja de todas las hojas del libro, utilice el objeto Hojas.

Código:

Sub Worksheet_Example1 ()

Hojas (3) .Seleccionar

End Sub

Ahora seleccionará la tercera hoja exacta.

Ejemplo n. ° 2: seleccionar hojas de trabajo por nombre

Seleccionar las hojas por su nombre es la forma precisa de referirse a la hoja. Por ejemplo, si queremos seleccionar la hoja "Hoja de trabajo 3", entonces puede usar el siguiente código.

Código:

Sub Worksheet_Example2 () Worksheets ("Hoja de trabajo 3"). Seleccione End Sub

Esto seleccionará la hoja exacta; no importa dónde se coloque en el libro de trabajo.

Pero si intentó acceder a la hoja del gráfico con el objeto "Hojas de trabajo", obtendremos "Error de subíndice fuera de rango".

Código:

Sub Worksheet_Example2 () Worksheets ("Hoja de gráfico 1"). Seleccione End Sub

Ejecute este código a través de la tecla F5 o manualmente y vea el resultado.

Ejemplo n. ° 3: problema con el nombre de la hoja de trabajo

Hay un problema más al referirse a las hojas por su nombre. Si alguien cambia el nombre de la hoja de trabajo, nuevamente, obtendremos el "Error de subíndice fuera de rango".

Para resolver este problema, vaya al editor visual básico presionando la tecla ALT + F11 .

Ahora seleccione el nombre de la hoja y presione la tecla F4 para ver la ventana de propiedades.

En estas propiedades, la ventana cambia el nombre de la hoja de trabajo a su nombre.

Una cosa interesante aquí es que aunque hemos cambiado el nombre de la hoja de trabajo de “Hoja de trabajo 1” a “WS1”, todavía podemos ver el mismo nombre en el libro de trabajo.

Ahora podemos referirnos a esta hoja por el nombre "WS1".

Código:

Sub Worksheet_Example2 () Worksheets ("WS1"). Seleccione End Sub

Ahora no importa quien cambie el nombre de la hoja de trabajo. Aún así, nuestro código se refiere a la misma hoja siempre que no cambie en el editor visual básico.

Ejemplo n. ° 4: obtener el recuento de hojas totales en el libro de trabajo

Una hoja de trabajo es un objeto y podemos usar todas las propiedades y métodos asociados a ella. ¿Qué hacemos con las hojas de trabajo?

Insertamos hojas de trabajo. Cambiamos el nombre de las hojas de trabajo. Eliminamos hojas de trabajo y muchas otras cosas que hacemos con él.

Ingrese al objeto “Hojas de trabajo” y ponga un punto para ver todas las opciones con ellas.

Para obtener el recuento de las hojas de trabajo, usa VBA Count Property.

Código:

Sub Worksheet_Example3 () Dim i As Long i = Worksheets.Cuenta MsgBox i End Sub

Esto mostrará el recuento de las hojas de trabajo.

Aunque hay 5 hojas, contamos como 3 porque las otras 2 hojas son hojas de gráficos.

Para obtener el recuento total de hojas, utilice el objeto "Hojas".

Código:

Sub Worksheet_Example3 () Dim i As Long i = Sheets.Cuenta MsgBox i End Sub

Esto mostrará el recuento completo de las hojas.

Ejemplo n. ° 5: métodos que utilizan el objeto de hoja de trabajo

Después de ingresar al objeto de la hoja de trabajo, podemos acceder a todas las propiedades y objetos asociados con él. Podemos agregar una nueva hoja. Podemos borrar, etc.

Para agregar nueva hoja.

Hoja de trabajo Agregar

Para eliminar la hoja de trabajo

Hoja de trabajo ("Nombre de la hoja"). Eliminar

Para cambiar el nombre de la hoja de trabajo

Hoja de trabajo ("Nombre de la hoja"). Nombre = "Nombre nuevo"

Articulos interesantes...