¿cómo recorrer todas las hojas usando vba en excel?

Hay dos formas de revisar todas las hojas que tiene en un libro de trabajo.

  • PARA EL PRÓXIMO BUCLE
  • PARA CADA rizo

1. Usar para cada bucle

Como sabes, con FOR EACH puedes iterar sobre todos los objetos de la colección y en un libro de trabajo, las hojas de trabajo son una colección de todas las hojas de trabajo.

Utilice los siguientes pasos:

  1. Primero, declare una variable para hacer referencia a una hoja de trabajo para el bucle.
    declare-a-variable-to-refer
  2. Después de eso, inicie el ciclo con la palabra clave «Para cada» y consulte cada hoja de trabajo del libro.
    start-the-loop-with-the-keyword
  3. Ahora suponga que desea ingresar un valor en la celda A1 de cada hoja de trabajo, puede usar el código de escritura de la siguiente manera.
    want-to-enter-a-value-in-the-cell
  4. Al final, utilice la palabra clave «Fin» para finalizar el ciclo.
    use-the-keyword-end

Enlaces útiles: Ejecutar una macroGrabador de macrosEditor de Visual BasicManual de macros personales

 Sub vba_loop_sheets() Dim ws As Worksheet For Each ws In ThisWorkbook.Worksheets ws.Range("A1").Value = "Yes" Next ws End Sub

Este código recorre cada hoja e ingresa el valor en la celda A1 de cada hoja. La ventaja de utilizar este método es que recorre todas las hojas del libro.

Y si desea explorar todas las hojas de trabajo en un libro cerrado, use el código que se muestra a continuación.

 Sub vba_loop_sheets() Dim wb As Workbook Dim ws As Worksheet Application.DisplayAlerts = False Set wb = Workbooks.Open("C:UsersDellDesktopsample-file.xlsx") For Each ws In wb.Worksheets ws.Range("A1").Value = "Done" Next ws wb.Close SaveChanges:=True Application.DisplayAlerts = True End Sub

2. Utilice el bucle Para el siguiente

También puede realizar un bucle usando el bucle FOR NEXT , donde puede usar el número de hojas para decidir cuántos bucles hacer y usar el contador de bucles para consultar cada hoja.

Estos son los pasos que debes seguir:

  1. Primero, debe declarar dos variables para almacenar el valor de recuento del bucle y una para la cantidad de hojas que tiene en el libro.
    declare-to-variable-to-write-count-value
  2. Ahora, establezca el valor de la variable “shtCount” equivalente al número de hojas que tiene en el libro.
    set-the-value-for-the-shtcount
  3. Después de eso, inicie el código para el bucle usando la palabra clave «For i» y use el recuento de hojas del valor máximo para el contador del bucle.
    start-the-code
  4. Desde aquí, debes usar el contador de bucles para revisar todas las hojas e ingresar el valor «Sí» en la celda A1 de cada hoja.
    use-the-loop-counter-to-loop

código completo

 Sub vba_loop_sheets() Dim i As Long Dim shtCount As Long shtCount = Sheets.Count For i = 1 To shtCount Sheets(i).Range("A1").Value = "Yes" Next i End Sub

Y si desea explorar un libro cerrado, utilice el siguiente código.

 Sub vba_loop_sheets() Dim i As Long Dim shtCount As Long Set wb = Workbooks.Open("C:UsersDellDesktopsample-file.xlsx") shtCount = wb.Sheets.Count Application.DisplayAlerts = False For i = 1 To shtCount wb.Sheets(i).Range("A1").Value = "Yes" Next i wb.Close SaveChanges:=True Application.DisplayAlerts = True End Sub

Añadir un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *