ActiveSheet

Una de las situaciones más comunes en las que se utiliza VBA es la manipulación de hojas de cálculo.

Para obtener información de una hoja específica de Excel o para imprimir los resultados de cálculos en una hoja, primero es necesario obtener la hoja de destino.

VBA ofrece varios métodos para obtener una hoja, pero en esta ocasión explicaremos el método que utiliza la propiedad ActiveSheet.

Precauciones al usar ActiveSheet

La propiedad ActiveSheet es un método común para obtener una hoja y se utiliza en muchas situaciones.

Sin embargo, dado que la propiedad ActiveSheet obtiene la hoja que está activa en el momento de la ejecución del código, existe la posibilidad de que se obtenga una hoja no deseada.

Por lo tanto, se recomienda utilizar otros métodos para obtener una hoja siempre que sea posible.

Cómo usar la propiedad ActiveSheet

La propiedad ActiveSheet se utiliza para obtener la hoja que está activa en ese momento.

El uso general es el siguiente:

Uso_de_ActiveSheet
Dim ws As Worksheet
Set ws = ActiveSheet
MsgBox ws.Name

Al ejecutar el código anterior, se mostrará en un cuadro de mensaje el nombre de la hoja activa actual.

Dado que la propiedad ActiveSheet es una propiedad de la clase Application, se puede obtener simplemente escribiendo ActiveSheet en el código, lo que facilita mucho la obtención de la hoja.

Para asignarla a una variable, se debe preparar una variable del tipo Worksheet y usar la instrucción Set para asignarla.

Ejemplos específicos

Imprimir la hoja activa actual

Imprimir_la_hoja_activa_actual
Private Sub PrintActiveSheet()
    ActiveSheet.PrintOut
End Sub

Ingresar un valor en una celda de la hoja activa actual

Ingresar_un_valor_en_una_celda_de_la_hoja_activa_actual
Private Sub InputValueToActiveSheet()
  _ Obtener_la_fecha_y_hora_actual
  Dim now As Date
  now = Now

  _ Ingresar_la_fecha_y_hora_actual_en_la_celda_A1_de_la_hoja_activa_actual
  ActiveSheet.Range("A1").Value = now
End Sub
#VBA #Operaciones de Excel