Hoja de activación de VBA

Hoja de activación de Excel VBA

Mientras trabajamos en VBA, a veces nos referimos a otra hoja o usamos las propiedades de otra hoja, supongamos que estamos en la hoja 1 trabajando pero queremos un valor de la celda A2 en la hoja 2, si nos referimos al valor de la hoja 2 sin activar la hoja primero, entonces lo haremos no poder acceder al valor por lo que para activar una hoja en VBA usamos la propiedad de la hoja de trabajo como Hojas de trabajo ("Hoja2").

En Excel siempre trabajamos con hojas de trabajo. Las hojas de trabajo tienen su propio nombre para identificarse mejor. En el funcionamiento normal de una hoja de cálculo, navegamos directamente por las teclas de atajo o seleccionamos directamente la hoja haciendo clic en ellas. Sin embargo, en VBA no es tan fácil, necesitamos especificar el nombre de la hoja al que nos referimos, luego podemos usar el método "Seleccionar" para seleccionar la hoja.

¿Qué es el método VBA Activate?

Como dice el nombre, activa la hoja de trabajo especificada. Para activar la hoja, debemos mencionar el nombre exacto de la hoja de trabajo usando el objeto de hojas de trabajo. Por ejemplo, si desea activar una hoja llamada "Ventas", puede utilizar el siguiente código.

Hojas de trabajo ("Ventas"). Activar

Sintaxis

Entonces, la sintaxis del método Activate es la siguiente.

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

Aquí la hoja de trabajo es el objeto y activa es el método.

Puede descargar esta plantilla de Excel de hoja de activación de VBA aquí - Plantilla de Excel de hoja de activación de VBA

Ejemplo # 1 - Activar hoja por su número de índice

En Excel, trabajamos con varios conjuntos de hojas de trabajo y, a menudo, necesitamos movernos de una hoja a otra para realizar el trabajo. En VBA podemos usar el método Activate para activar la hoja de Excel en particular.

Por ejemplo, he creado tres hojas llamadas "Ventas 2015", "Ventas 2016" y "Ventas 2017".

Podemos activar las hojas de dos formas. Uno es usar números de índice de hoja y otro es usar el nombre de la hoja en sí.

Ahora, si quiero seleccionar la segunda hoja, usaré el objeto Hoja de trabajo y mencionaré el número de índice de la hoja como 2.

Código:

 Sub Activate_Example1 () Worksheets (2) .Activate End Sub 

Cuando ejecute el código usando la tecla F5 o manualmente, esto activará la segunda hoja, es decir, "Ventas 2016".

Si quiero activar la tercera hoja, usaré 3 como número de índice de la hoja.

Código:

 Sub Activate_Example1 () Worksheets (3) .Activate End Sub 

Esto activará la tercera hoja, es decir, "Ventas 2017".

Ahora intercambiaré la segunda y la tercera hoja.

Técnicamente, “Ventas 2017” es mi tercera hoja y “Ventas 2016 es mi segunda hoja. Ahora usaré el número de índice de la hoja como 3 y veré qué sucede.

Código:

 Sub Activate_Example1 () Worksheets (3) .Activate End Sub 

En mi punto de vista, tiene que seleccionar la hoja “Ventas 2017”, pero seleccionará la hoja “Ventas 2016” porque en el orden “Ventas 2016” está la tercera hoja.

Por lo tanto, siempre es una opción segura activar la hoja por su nombre.

Ejemplo # 2 - Activar hoja por su nombre

Ahora veremos cómo activar hojas por su nombre. En lugar de un número de índice de hoja, debemos mencionar el nombre de la hoja entre comillas dobles.

Código:

 Sub Activate_Example2 () Hojas de trabajo ("Ventas 2016"). Activar End Sub 

Cuando ejecuta el código manualmente o usando la tecla de método abreviado F5, esto activaría la hoja "Ventas 2016" independientemente de la posición en el libro de trabajo.

No solo el objeto Worksheets, también podemos usar el objeto "Sheets" para activar la hoja.

A continuación se muestra el código.

Código:

 Sub Activate_Example2 () Sheets ("Ventas 2016"). Activar End Sub 

Las hojas de trabajo solo pueden acceder al Objeto de hojas de trabajo y no pueden acceder a las hojas de “Gráficos”. Si usa el objeto Hojas , podemos acceder a todas las hojas del libro.

Ejemplo n. ° 3 - Activar hoja desde otro libro de trabajo

Al igual que la forma en que necesitamos mencionar el nombre de la hoja para activar la hoja en particular, similar en caso de activar la hoja de otro libro requiere el nombre de "Libro de trabajo" también.

Código:

 Sub Activate_Example3 () Libros de trabajo ("Archivo de ventas.xlsx"). Hojas de cálculo ("Ventas 2016"). Activar End Sub 

Esto activará la hoja "Ventas 2016" del libro de trabajo "Archivo de ventas.xlsx".

Activar hoja vs Seleccionar método de hoja

Podemos usar métodos para realizar la misma acción, es decir, activar y seleccionar métodos. Existe una ligera diferencia entre estos dos métodos.

# 1 - Método de activación

Al usar el método Activate, solo podemos activar la hoja de trabajo especificada.

Por ejemplo, mire el siguiente código.

Código:

 Sub Activate_Example () Worksheets ("Ventas 2016"). Activar End Sub 

Como sabemos este código seleccionará la hoja de trabajo “Ventas 2016”.

# 2 - Seleccionar método

Al usar el método Select, también podemos realizar otras tareas.

Ahora, mire el siguiente código.

Código:

Este código no solo activa la hoja “Ventas 2016” sino que también selecciona el rango de celdas de A1 a A10.