Macro para recorrer todas las hojas en un libro

Se aplica: Visual Basic 2010 Express

Resumen


Este artículo contiene una de Microsoft Visual Basic para Aplicaciones macro (procedimiento Sub) que recorre en iteración todas las hojas del libro activo. Esta macro también muestra el nombre de cada hoja de cálculo.

Más información


Microsoft proporciona ejemplos de programación fines ilustrativos únicamente, sin ninguna garantía tanto expresa como implícita. Esto incluye, pero no se limita, a las garantías implícitas de comerciabilidad o idoneidad para un propósito particular. Este artículo asume que está familiarizado con el lenguaje de programación que se muestra y con las herramientas que se utilizan para crear y depurar procedimientos. Los ingenieros de soporte técnico de Microsoft pueden explicarle la funcionalidad de un determinado procedimiento, pero no modificarán estos ejemplos para ofrecer mayor funcionalidad ni crearán procedimientos que cumplan sus requisitos específicos. Para probar la macro de ejemplo, siga estos pasos:
  1. Escriba el siguiente código de macro en una nueva hoja de módulo.
          Sub WorksheetLoop()         Dim WS_Count As Integer         Dim I As Integer         ' Set WS_Count equal to the number of worksheets in the active         ' workbook.         WS_Count = ActiveWorkbook.Worksheets.Count         ' Begin the loop.         For I = 1 To WS_Count            ' Insert your code here.            ' The following line shows how to reference a sheet within            ' the loop by displaying the worksheet name in a dialog box.            MsgBox ActiveWorkbook.Worksheets(I).Name         Next I      End Sub
  2. Para ejecutar la macro, sitúe el punto de inserción en la línea que dice "Sub WorksheetLoop()" y presione F5.
La macro se recorra el libro y mostrar un cuadro de mensaje con un nombre de hoja de cálculo diferente cada vez que se ejecuta el bucle. Tenga en cuenta que esta macro sólo mostrará los nombres de hoja de cálculo; no mostrará los nombres de otros tipos de hojas en el libro. También puede recorrer todas las hojas de cálculo en el libro mediante un bucle 'For Each'.
  1. Escriba el siguiente código de macro en una nueva hoja de módulo.
          Sub WorksheetLoop2()         ' Declare Current as a worksheet object variable.         Dim Current As Worksheet         ' Loop through all of the worksheets in the active workbook.         For Each Current In Worksheets            ' Insert your code here.            ' This line displays the worksheet name in a message box.            MsgBox Current.Name         Next      End Sub
  2. Para ejecutar la macro, sitúe el punto de inserción en la línea que dice "Sub WorksheetLoop2()" y presione F5.
Esta macro funciona de forma idéntica a la macro WorksheetLoop, salvo que utiliza un tipo diferente de bucle para procesar todas las hojas de cálculo del libro activo.

Referencias


Para obtener información adicional acerca de cómo obtener ayuda con Visual Basic para Aplicaciones, consulte el artículo siguiente en Microsoft Knowledge Base:
163435 VBA: recursos de programación para Visual Basic para Aplicaciones
226118 OFF2000: recursos de programación para Visual Basic para Aplicaciones