A continuación, veremos un programa en Excel VBA que recorre todos los libros y hojas de trabajo abiertos y muestra todos los nombres.

Situación:

Ejemplo de bucle a través de libros y hojas

Agregue las siguientes líneas de código al botón de comando:

1. Primero, declaramos dos objetos y una variable. Un objeto de tipo Libro de trabajo lo llamamos libro, un objeto de tipo Hoja de trabajo lo llamamos hoja y una variable de tipo Cadena que llamamos texto.

Dim book As Workbook, sheet As Worksheet, text As String

2. Queremos recorrer todos los libros abiertos. Para lograr esto, agregue la siguiente línea de código:

For Each book In Workbooks

3. Escribimos el texto "Libro de trabajo:", el nombre del libro de trabajo y el texto "Hojas de trabajo:" "en el texto variable.

text = text & "Workbook: " & book.Name & vbNewLine & "Worksheets: " & vbNewLine

Nota: puede utilizar el operador & para concatenar (unir) elementos. Para comenzar una nueva línea, puede usar vbNewLine.

4. Para recorrer todas las hojas de trabajo de un libro, agregue la siguiente línea de código:

For Each sheet In book.Worksheets

5. Escribimos los nombres de las hojas de trabajo de un libro de trabajo en el texto variable.

text = text & sheet.Name & vbNewLine

6. Cierre el segundo bucle.

Next sheet

7. Agregue una línea blanca.

text = text & vbNewLine

8. No olvide cerrar el primer ciclo.

Next book

9. Finalmente, mostramos el texto de la variable usando un MsgBox.

MsgBox text

10. Pruebe el programa. Antes de hacer clic en el botón de comando, asigne a sus hojas de trabajo algunos nombres descriptivos y abra un libro de trabajo en blanco con tres hojas de trabajo.

Resultado:

Recorrer libros y hojas en Excel VBA

4/8 Completado! Más información sobre libros y hojas>
Capítulo siguiente: Objeto de rango