¿Cómo puedo aplicar esta macro a todas las páginas de un archivo de Excel?

¿Cómo puedo aplicar esta macro a todas las páginas de un archivo de Excel?

Tengo un código para hacer una modificación particular en algunas celdas de una página. Me gustaría aplicar este código con un solo clic a todas las páginas del archivo de Excel. Estoy usando VBA y soy un novato. Aquí está mi código:

Sub H() Dim B As Range, H As Range, I As Range For Each B In Range("B7:B49").Cells If IsNumeric(B) And B <> "" Then Cells(B.Row, 9) = Trim(Cells(B.Row + 1, 8)) & Trim(Cells(B.Row + 2, 8)) Cells(B.Row + 1, 8) = "" Cells(B.Row + 2, 8) = "" If B.Row > 50 Then Exit For End If Next B End Sub

Me gustaría aplicar la macro anterior a todas las páginas de la hoja de Excel. ¿Cómo puedo hacer eso?

Respuesta1

Simplemente recorra las hojas (páginas) de la misma manera que recorre las celdas en un rango:

Sub H()
    Dim B As Range

    For S in Sheets
        For Each B In S.Range("B7:B49").Cells
            If IsNumeric(B) And B <> "" Then
                Cells(B.Row, 9) = Trim(Cells(B.Row + 1, 8)) & Trim(Cells(B.Row + 2, 8))
                Cells(B.Row + 1, 8) = ""
                Cells(B.Row + 2, 8) = ""
            End If
            If B.Row > 50 Then Exit For
        Next B
    Next S

End Sub

PD: Probablemente tenga más sentido que las dos Ifdeclaraciones sean independientes; es decir, no tener el segundo anidado dentro del primero.

información relacionada