Basta percorrer as folhas (páginas) da mesma maneira 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
P.S. Provavelmente faz mais sentido ter as duas instruções If
independentes;
ou seja, não ter o segundo aninhado dentro do primeiro.