VBA ActiveSheet y cómo activar o seleccionar una hoja

Este artículo discutirá el objeto ActiveSheet en VBA. También discutirá cómo activar, seleccionar e ir a Hojas de trabajo (y mucho más). Lea nuestra Guía completa de hojas de trabajo de 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. Solo puede haber una hoja activa a la vez.

Activar hoja de trabajo (configuración de ActiveSheet)

Para configurar ActiveSheet, use Worksheet.

1 Hojas de trabajo ("Entrada"). Activar

El comando Activar hoja en realidad "irá" a la hoja, cambiando la hoja visible.

El ejemplo anterior usa el nombre Hoja (pestaña). En su lugar, puede usar el nombre del código de VBA para la hoja de trabajo:

1 Sheet1.Activate

Nombre de ActiveSheet

Para obtener el nombre de ActiveSheet:

1 msgbox ActiveSheet.name

Hojas seleccionadas vs ActiveSheet

En cualquier momento, solo una Hoja puede ser ActiveSheet. Sin embargo, se pueden seleccionar varias hojas de trabajo a la vez.

Cuando se seleccionan varias hojas de trabajo, solo la hoja de trabajo "superior" se considera activa (la hoja activa).

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 basada en el nombre de la pestaña de la hoja.

1 Hojas ("Entrada"). Seleccione

Seleccionar hoja de trabajo por número de índice

Esto selecciona una hoja de trabajo en función de su posición en relación con otras pestañas

1 Hojas de trabajo (1) .Seleccionar

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

1 Hoja1.Seleccionar

La selección de hojas de trabajo por nombre de código puede evitar errores causados ​​por cambios en el nombre de la hoja de trabajo.

Seleccionar hoja de trabajo actual

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

1 ActiveSheet.Seleccione

Más ejemplos de hoja Activar / Seleccionar

Establecer ActiveSheet en variable

Esto asignará ActiveSheet a una variable de objeto de la hoja de trabajo.

123 Dim ws como hoja de trabajoEstablecer ws = ActiveSheet

Cambiar el nombre de ActiveSheet

Esto cambiará el nombre de ActiveSheet.

1 ActiveSheet.Name = "NewName"

Con ActiveSheet

El uso de With Statement le permite optimizar su código cuando trabaja con objetos (como Sheets o ActiveSheet).

12345 Con ActiveSheet.Name = "StartFresh".Cells.Clear.Rango ("A1"). Valor = .NombreTerminar con

Observe que no necesita repetir "ActiveSheet" antes de cada línea de código. Esto puede suponer un gran ahorro de tiempo cuando se trabaja con una larga lista de comandos.

Recorrer las hojas seleccionadas

La siguiente macro recorrerá todas las hojas seleccionadas, mostrando sus nombres.

12345678 Sub GetSelectedSheetsName ()Dim ws como hoja de trabajoPara cada ws en ActiveWindow.SelectedSheetsMsgBox ws.NameSiguiente wsEnd Sub

Ir a la hoja siguiente

Este código irá a la siguiente hoja. Si ActiveSheet es la última hoja, irá a la primera hoja del libro de trabajo.

12345 Si ActiveSheet.Index = Worksheets.Count ThenHojas de trabajo (1) .ActivarDemásActiveSheet.Next.ActivateTerminara si

Va a ayudar al desarrollo del sitio, compartir la página con sus amigos

wave wave wave wave wave