Seleccionar libro utilizando VBA

Esta página muestra cómo puede asignar un libro de trabajo abierto a una variable Workbook utilizando una sentencia Set. Esta es la forma preferida de programar frente al uso de ActiveWorkbook (usando Select).

Seleccionar libro por nombre

La propiedad Item de la colección Workbooks se utiliza para devolver un único objeto Workbook de la colección. Se llama así:


Dim wb As Workbook
Set wb = Application.Workbooks.Item(Index:="Demo.xlsx")

La colección Workbooks se obtiene aquí a partir del procedimiento Application.Workbooks. El procedimiento Item devuelve un objeto de tipo Workbook que se asigna opcionalmente a una variable wb. Normalmente en Index se utiliza el nombre del fichero para identificarlo, aunque estrictamente hablando se podría utilizar el número de posición en la colección.

... o más corto:


Dim wb As Workbook
Set wb = Workbooks("Demo.xlsx")

Seleccionar libro con nombre de variable

La mayoría de las veces querrá aplicar sus procedimientos a nombres de archivos variables. Para ello utilizará una variable String a la que se asignará un valor de alguna manera, por ejemplo, utilizando un cuadro de diálogo de selección de archivos.


Dim strWorkbook As String: strWorkbook =
Dim wb As Workbook
Set wb = Workbooks(strWorkbook)

Seleccionar libro y hoja

Normalmente querrá actuar sobre una hoja de cálculo del libro de trabajo. A continuación se muestra un ejemplo de cómo hacerlo. Vea también Seleccionar hoja de trabajo usando VBA.


Dim strWorkbook As String: strWorkbook = "Demo.xlsx"
Dim wb As Workbook
Set wb = Workbooks(strWorkbook)
Dim ws As Worksheet
Set ws = wb.Worksheets("Data")
icono

Pruebe el complemento del editor Code VBA