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
.
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:
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
Private Sub PrintActiveSheet()
ActiveSheet.PrintOut
End Sub
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