Como posso aplicar esta macro a todas as páginas de um arquivo Excel

Como posso aplicar esta macro a todas as páginas de um arquivo Excel

Eu tenho um código para fazer uma modificação específica em algumas células de uma página. Gostaria de aplicar esse código com um clique a todas as páginas do arquivo Excel. Estou usando VBA e sou um novato nisso. Aqui está meu 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

Gostaria de aplicar a macro acima a todas as páginas da planilha do Excel. Como eu posso fazer isso?

Responder1

Simplesmente percorra as planilhas (páginas) da mesma forma que você percorre as células em um intervalo:

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

PS: Provavelmente faz mais sentido ter as duas Ifdeclarações independentes; ou seja, não ter o segundo aninhado dentro do primeiro.

informação relacionada