¿cómo activar un libro de excel a través de vba?

Cuando trabaja con varios libros al mismo tiempo, es decir, cuando tiene varios libros abiertos al mismo tiempo, necesita conocer el método que puede ayudarle a activar un libro en el que desea trabajar.

activar libro de trabajo

Para activar un libro usando VBA, debe usar el método Workbook.Activate. En este método, debe especificar el nombre del libro de trabajo utilizando el objeto Libro de trabajo. También le permite usar el número del libro en lugar del nombre del libro, pero solo puede hacer referencia a libros abiertos.

En este tutorial analizamos diferentes formas de utilizar este método.

Pasos para activar un libro de trabajo

tipo carpetas
  1. Escriba «Carpetas» para utilizar el objeto de carpeta.
  2. Especifique el nombre del libro entre comillas dobles.
  3. Ingrese un punto (.) para obtener una lista de propiedades y métodos.
  4. Seleccione el método Activar de la lista o también puede ingresarlo.
  5. Al final, ejecute el código para activar el libro.
 Sub vba_activate_workbook() Workbooks("Book3").Activate End Sub

Nota: Si intenta activar un libro que no está abierto, VBA mostrará un error.

vba-mostrará-un-error

Relacionado: Activar una hoja de cálculo usando VBA

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

Activar un libro usando el número

Cuando tiene varios libros abiertos, todos estos libros pasan a formar parte de la colección de libros y tienen un número al que puede hacer referencia y luego puede usar el método de activación con él. Aquí está el código:

 Sub vba_activate_workbook() Workbooks(2).Activate End Sub
activar-una-carpeta-usando-un-numero

Y si intenta activar un libro usando un número que no existe, VBA le mostrará un error de tiempo de ejecución ‘9’ (Subíndice fuera de rango).

vba-mostrará-tiempo-de-ejecución-error-9

Activar este libro

Puede consultar el libro de trabajo en el que escribe el código utilizando la propiedad ThisWorkbook. Digamos que tiene cinco libros abiertos al mismo tiempo pero está trabajando en el «Libro1.xlsm», por lo que cuando ejecute el siguiente código, se activará el «Libro1.xlsm».

 Sub vba_activate_workbook() ThisWorkbook.Activate End Sub

Verificar antes de activar un libro de trabajo

Como dije, cuando intentas activar un libro que no está abierto, VBA te muestra un error. Para resolver este problema, la mejor manera es verificar primero el nombre del libro (si está abierto o no) y luego activarlo.

 Sub vba_activate_workbook() Dim wb As Workbook For Each wb In Workbooks If wb.Name = "Book3.xlsx" Then wb.Activate MsgBox "Workbook found and activated" Exit Sub End If Next wb MsgBox "Not found" End Sub

Usando el código anterior, puede especificar un nombre de libro de trabajo y esto primero buscará este libro de trabajo en todos los libros de trabajo abiertos y, si encuentra el libro de trabajo, lo activará.

Comentarios

  • Cuando utilice el nombre del libro de trabajo, asegúrese de utilizar la extensión de archivo correcta
  • Si desea activar un libro que aún no está guardado, debe usar solo el nombre de ese libro sin agregar el sufijo a la extensión del archivo.

Añadir un comentario

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