Страницы: 1
RSS
Повторение (или зацикливание) макроса для каждого листа
 
Здравствуйте, помогите упростить макрос. Нужно зациклить или повторить макрос, чтобы на каждом листе заменялись данные с определенной строки листа "данных".
Выглядит макрос так:
Код
Sub Замена()
    Sheets("99 (2)").Select
    Cells.Replace What:="99", Replacement:="2", LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
    Sheets("99 (3)").Select
    Cells.Replace What:="99", Replacement:="3", LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
    Sheets("99 (4)").Select
    Cells.Replace What:="99", Replacement:="4", LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
    Sheets("99 (5)").Select
    Cells.Replace What:="99", Replacement:="5", LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
    Sheets("99 (6)").Select
    Cells.Replace What:="99", Replacement:="6", LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
    Sheets("99 (7)").Select
    Cells.Replace What:="99", Replacement:="7", LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
    Sheets("99 (8").Select
    Cells.Replace What:="99", Replacement:="8", LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
    Sheets("99 (9)").Select
    Cells.Replace What:="99", Replacement:="9", LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
    Sheets("99 (10)").Select
    Cells.Replace What:="99", Replacement:="10", LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
    Sheets("99 (11)").Select
    Cells.Replace What:="99", Replacement:="11", LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
    Sheets("99 (12)").Select
    Cells.Replace What:="99", Replacement:="12", LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
    Sheets("99 (13)").Select
    Cells.Replace What:="99", Replacement:="13", LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
    Sheets("99 (14)").Select
    Cells.Replace What:="99", Replacement:="14", LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
    Sheets("99 (15)").Select
    Cells.Replace What:="99", Replacement:="15", LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
    Sheets("99 (16)").Select
    Cells.Replace What:="99", Replacement:="16", LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
    Sheets("99 (17)").Select
    Cells.Replace What:="99", Replacement:="17", LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
    Sheets("99 (18)").Select
    Cells.Replace What:="99", Replacement:="18", LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
    Sheets("99 (19)").Select
    Cells.Replace What:="99", Replacement:="19", LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
    Sheets("99 (20)").Select
    Cells.Replace What:="99", Replacement:="20", LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
И так до 500 листов.
Изменено: Евгений Женькин - 13.07.2021 22:33:05
 
Евгений Женькин, код следует оформлять соответствующим тегом. Ищите такую кнопку <...> и исправьте своё сообщение.
 
Код
Sub Замена()
    Dim i As Lomg
    
    For i = 2 To 500
        Sheets("99 (" & i & ")").Cells.Replace What:="99", Replacement:=i, LookAt:=xlPart, SearchOrder:=xlByRows
    Nex i
End Sub
 
vikttur,  у тебя уже третий вариант :)
Вся разница в количестве листов, селект или нет, i или cstr(i)
 
Цитата
vikttur написал: Dim i As Lomg
новый тип данных в Excel ? )
 
Цитата
Hugo, написал: уже третий вариант
? Несколько одинаковых тем?

Цитата
New написал: новый тип данных в Excel ? )
А вдруг примут в разработчики? )
Страницы: 1
Наверх