Bucle a través de libros y hojas en Excel VBA
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:
Añadir las siguientes líneas de código en el botón de comando:
-
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
-
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
-
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
-
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
-
Cerrar el segundo bucle.
Next sheet
-
Añadir una línea blanca.
text = text & vbNewLine
-
no se olvide de cerrar el primer bucle.
Next book
-
Por último, se muestra el texto de la variable usando un MsgBox.
.
MsgBox text
-
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:.