Как применить этот макрос ко всем страницам в файле excel

У меня есть код, чтобы сделать определенную модификацию некоторых ячеек на странице. Я хотел бы применить этот код одним щелчком мыши ко всем страницам в файле excel. Я использую VBA и новичок в этом. Вот мой код :

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

Я хотел бы применить приведенный выше макрос ко всем страницам на листе excel. Как я могу это сделать?

6
задан Rathan
18.03.2023 5:09 Количество просмотров материала 3047
Распечатать страницу

1 ответ

просто цикл по листам (страницам) точно так же вы перебираете ячейки в диапазоне:

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. Это, наверное, имеет больше смысла иметь два If заявления независимых; т. е. нет второй вложен в первый.

0
отвечен Scott 2023-03-19 12:57

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя

Похожие вопросы про тегам:

macros
microsoft-excel
microsoft-excel-2007
microsoft-excel-2010
vba
Вверх