¿cómo utilizar la variable vba thisworkbook en excel?

En VBA, puede utilizar la propiedad ThisWorkbook para hacer referencia al libro de trabajo en el que escribe el código. Cuando lo usa, tiene acceso a todas las propiedades y métodos del libro actual. En pocas palabras, puede ejecutar todas las tareas en el libro actual sin usar el nombre.

Suponga que desea contar las hojas del libro actual. El código que necesitas escribir sería el siguiente.

 Sub vba_thisworkbook() MsgBox ThisWorkbook.Sheets.Count End Sub
vba-este libro de trabajo

Cuando ejecuta este código, aparece un cuadro de mensaje con la cantidad de hojas que tiene en el libro actual.

cuadro-de-mensaje-con-recuento-de-hojas

Como dije, cuando usas ThisWorkbook, te da acceso a las propiedades y al método del libro de trabajo actual. Puede ver todo esto cuando ingresa un punto (.) para ver la lista completa.

acceso a propiedades

Enlaces útiles: Ejecutar una macroGrabador de macrosEditor de Visual BasicManual de macros personales

Usando ThisWorkbook con una variable

A continuación, le mostraré un ejemplo de código real para declarar una variable para usar la propiedad ThisWorkbook. Suponga que desea realizar varias actividades en el libro de trabajo actual.

 Sub vba_thisworkbook() Dim myWB As Workbook Set myWB = ThisWorkbook With myWB .Activate .Sheets(1).Activate .Range("A1") = Now .Save .Close End With End Sub

En la primera parte de este código, tiene una variable, luego asígnele la propiedad «ThisWorkbook». Y luego, en la segunda parte, tienes la DECLARACIÓN CON para realizar múltiples actividades con la variable actual.

ActiveWorkBook versus este libro de trabajo

Déjame explicártelo con una simple analogía, así que ten paciencia durante los próximos 2 minutos.

Tiene dos libros abiertos al mismo tiempo (Libro1 y Libro2). Escribe código en el libro1 pero el libro2 está activo en este punto. Entonces, cuando ejecute este código que hace referencia a ActiveWorkbook, realizará esta actividad en Book2 .

Pero cuando usa ThisWorkbook, VBA siempre hace referencia al libro de trabajo en el que está escrito el código.

Aquí está la cuestión: siempre es mejor utilizar ThisWorkbook porque elimina la posibilidad de error.

Obtenga más información sobre los libros de trabajo de VBA

Añadir un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *