VBA Seleccionar Hoja, Activar Hoja y Obtener Hoja Activa

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

Dennis Madrid

Last updated on agosto 22, 2022

Este artículo discutirá el objeto ActiveSheet en VBA. También discutirá cómo activar, seleccionar e ir a las hojas de trabajo (y mucho más). Lea nuestra Guía completa de Hojas de Trabajo VBA para obtener más información sobre cómo trabajar con hojas de trabajo en VBA.

Hoja Activa

En VBA, ActiveSheet se refiere a la hoja de trabajo actualmente activa. Sólo puede haber una hoja activa a la vez.

Activar la hoja de Trabajo (Establecer la hoja activa)

Para establecer la hoja activa utilice Worksheet.Activate:

Worksheets("entrada").Activate

El comando Activate realmente «irá a» la hoja, cambiando la hoja visible.

Activar hoja

El ejemplo anterior utiliza el nombre de la hoja (Tab). En su lugar puede utilizar el nombre del código VBA para la hoja de trabajo:

Hoja1.Activate

Etiqueta hoja codigo

 

Nombre de la hoja activa

Para obtener el nombre de la hoja activa:

msgbox ActiveSheet.name

Hojas seleccionadas vs Hoja Activa

En cualquier momento, sólo una hoja puede ser la hoja activa. Sin embargo, se pueden seleccionar varias hojas de trabajo a la vez.

Cuando se seleccionan varias hojas de trabajo, sólo se considera activa la hoja de trabajo «más alta» (la hoja activa).

Hoja activa en seleccion

 

Seleccionar hoja de trabajo

Si desea seleccionar una hoja de trabajo en lugar de activarla. Utilice .Select en su lugar.

Seleccionar hoja de trabajo por nombre de pestaña

Esto selecciona una hoja de trabajo basándose en el nombre de la pestaña de la hoja

Sheets("entrada").Select

Activar hoja

 

Seleccionar hoja de trabajo por número de índice

Esto selecciona una hoja de trabajo basada en su posición relativa a otras pestañas

Worksheets(1).Select

Seleccion por indice de hoja

 

Seleccione la hoja de trabajo con el nombre del código VBA

Hoja1.Select

Seleccionar las hojas de trabajo por el nombre del código puede evitar errores causados por los cambios de nombre de las hojas de trabajo.

Seleccionar la hoja de trabajo actual

Para seleccionar la hoja de trabajo actual, utilice el objeto ActiveSheet:

ActiveSheet.Select

Más ejemplos de activar / seleccionar hoja de trabajo

Asignar hoja activa a una variable

Esto asignará la hoja activa a una Variable tipo Objeto Worksheet.

Dim hoja As Worksheet
 
Set hoja = ActiveSheet

Cambiar el nombre de la hoja activa

Esto cambiará el nombre de la hoja activa.

ActiveSheet.Name = "nombreNuevo"

With ActiveSheet

El uso de la sentencia With permite agilizar el código cuando se trabaja con objetos (como Sheets o ActiveSheet).

With ActiveSheet
    .Name = "Nuevo Nombre"
    .Cells.Clear
    .Range("A1").Value = .Name
End With

Fíjate en que no necesitas repetir «ActiveSheet» antes de cada línea de código. Esto puede ser un gran ahorro de tiempo cuando se trabaja con una larga lista de comandos.

Recorrer las hojas seleccionadas

La siguiente macro hará un bucle a través de todas las hojas seleccionadas, mostrando sus nombres.

Sub obtenerNombreDeHojasSeleccionadas()
    Dim hoja As Worksheet
 
    For Each hoja In ActiveWindow.SelectedSheets
         MsgBox hoja.Name
    Next hoja
 
End Sub

Ir a la siguiente hoja

Este código irá a la siguiente hoja. Si la Hoja Activa es la última Hoja, entonces irá a la primera Hoja del Libro de Trabajo.

If ActiveSheet.Index = Worksheets.Count Then
    Worksheets(1).Activate
Else
    ActiveSheet.Next.Activate
End If

La codificación VBA es fácil

Deje de buscar código VBA en línea. Aprenda más sobre AutoMacro – Un generador de código VBA que permite a los principiantes codificar procedimientos desde cero con un mínimo conocimiento de codificación y con muchas características que ahorran tiempo a todos los usuarios Select Activate Worksheet

 

Más información

<<Volver a los ejemplos de VBA

vba-free-addin

Complemento de Ejemplos de Código de VBA

Acceda fácilmente a todos los ejemplos de código que se encuentran en nuestro sitio.

Simplemente navegue al menú, haga clic y el código se insertará directamente en su módulo. Complemento .xlam.

(¡No se requiere instalación!)

Descarga gratuita

Return to VBA Code Examples