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 If
declaraciones sean independientes; es decir, no tener el segundo anidado dentro del primero.