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

Situación:

Loop through Books and Sheets Example

Añadir las siguientes líneas de código en el botón de comando:

  1. En primer lugar, declaramos dos objetos y una variable. Un objeto de tipo libro de trabajo que llamamos libro, un objeto de tipo hoja de cálculo que llamamos la hoja, y una variable de tipo String que llamamos texto.

Dim book As Workbook, sheet As Worksheet, text As String
  1. Queremos bucle a través de todos los libros abiertos. Para lograr esto, añada la siguiente línea de código:

For Each book In Workbooks
  1. Escribimos el texto «Libro de trabajo:», el nombre del libro, y el texto «Hojas de trabajo: » al texto variable

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

Nota:. Puede utilizar el operador & para concatenar (unirse) elementos para iniciar una nueva línea, puede utilizar vbNewLine

  1. Para recorrer todas las hojas de un libro, añadir la siguiente línea de código:..

For Each sheet In book.Worksheets

5 . escribimos los nombres de las hojas de un libro de texto variable.

text = text & sheet.Name & vbNewLine
  1. Cerrar el segundo bucle.

Next sheet
  1. Añadir una línea blanca.

text = text & vbNewLine
  1. no se olvide de cerrar el primer bucle.

Next book
  1. Por último, se muestra el texto de la variable usando un MsgBox.

.

MsgBox text
  1. Prueba del programa Antes de hacer clic en el botón de comando, y comparte sus hojas de trabajo algunos nombres descriptivos y abrir un libro en blanco con tres hojas de trabajo

Resultado:.

Loop through Books and Sheets in Excel VBA