Необходимо произвести удаление строк, начинающихся со строки "Восток" и до строки "Запад" включительно (лист1). То есть, остаются строки, находящиеся после строки "Запад" (лист2)
Необходимо произвести удаление строк, начинающихся со строки "Восток" и до строки "Запад" включительно (лист1). То есть, остаются строки, находящиеся после строки "Запад" (лист2)Léaud
Sub West_() Dim i&, rW&, rE&, r&, arr, wS As Worksheet, wF As Worksheet Set wS = Worksheets("Start") Set wF = Worksheets("Final") wF.Range("A:F").ClearContents wS.Activate For i = 1 To wS.Cells(Rows.Count, 4).End(xlUp).Row If wS.Cells(i, 1) = "Запад" Then rW = i End If If rW > 0 And wS.Cells(i, 1) = "" Then rE = i arr = wS.Range(Cells(rW + 1, 1), Cells(rE, 6)) wF.Activate r = wF.Cells(Rows.Count, 1).End(xlUp).Row wF.Range("A" & r & ":F" & r + rE - rW).Resize = arr rW = 0 wS.Activate End If Next i wF.Activate End Sub
[/vba] При условии что сразу после блоков "Запад" есть одна или несколько пустых ячеек в первом столбце и что в четвертом столбце все строки заполнены до конца таблицы (т.е. как в Вашем файле)
Ну раз уж необходимо, то вот: [vba]
Код
Sub West_() Dim i&, rW&, rE&, r&, arr, wS As Worksheet, wF As Worksheet Set wS = Worksheets("Start") Set wF = Worksheets("Final") wF.Range("A:F").ClearContents wS.Activate For i = 1 To wS.Cells(Rows.Count, 4).End(xlUp).Row If wS.Cells(i, 1) = "Запад" Then rW = i End If If rW > 0 And wS.Cells(i, 1) = "" Then rE = i arr = wS.Range(Cells(rW + 1, 1), Cells(rE, 6)) wF.Activate r = wF.Cells(Rows.Count, 1).End(xlUp).Row wF.Range("A" & r & ":F" & r + rE - rW).Resize = arr rW = 0 wS.Activate End If Next i wF.Activate End Sub
[/vba] При условии что сразу после блоков "Запад" есть одна или несколько пустых ячеек в первом столбце и что в четвертом столбце все строки заполнены до конца таблицы (т.е. как в Вашем файле)_Igor_61
При условии что сразу после блоков "Запад" есть одна или несколько пустых ячеек в первом столбце и что в четвертом столбце все строки заполнены до конца таблицы (т.е. как в Вашем файле)
Благодарю за помощь и отклик!
Да, пустая строка присутствует. Как я понял за счёт этого макрос и работает, однако, вероятно я дал не совсем полный пример, т.к. иногда присутствуют пустые ячейки в самом блоке из-за чего он отбирает верхнюю часть, а нижнюю часть после пустой ячейки блока с информацией — нет.
А четвертый столбец (скрытый) не всегда заполнен, но макрос срабатывает
При условии что сразу после блоков "Запад" есть одна или несколько пустых ячеек в первом столбце и что в четвертом столбце все строки заполнены до конца таблицы (т.е. как в Вашем файле)
Благодарю за помощь и отклик!
Да, пустая строка присутствует. Как я понял за счёт этого макрос и работает, однако, вероятно я дал не совсем полный пример, т.к. иногда присутствуют пустые ячейки в самом блоке из-за чего он отбирает верхнюю часть, а нижнюю часть после пустой ячейки блока с информацией — нет.
А четвертый столбец (скрытый) не всегда заполнен, но макрос срабатываетLéaud
Сообщение отредактировал Léaud - Среда, 21.04.2021, 10:32