Страницы: 1
RSS
Макрос вставки строк по условию, Макрос вставки строк по условию
 
Добрый день.

Не могли бы вы подсказать по следующей задаче.

Есть таблица (файл ниже), в столбце есть ячейки со значением "тротуар". Необходимо вставить, две пустые строки после каждой строки в которой есть значение "тротуар", и две строки ниже.

Буду благодарен за помощь.

Оговорюсь, что видел похожие темы, но там несколько другие задачи

Спасибо!
 
AndZu, Добрый день.
Ну вставить не сложно - цикл снизу вверх, и вставляй хоть как рекордер записал эту процедуру.
Вот по условиям непонятно - что делать с строками 9 и 11 - там нет
Цитата
AndZu написал:
есть значение "тротуар", и две строки ниже.
Пока вот рекордер записал:
Код
Sub Макрос33()
Dim i&
For i = (ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count) To ActiveSheet.UsedRange.Row Step -1
    If Cells(i, 4) = "Тротуар" Then
        Rows(i + 1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
        Rows(i + 1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    End If
Next
End Sub
Изменено: Hugo - 12.10.2024 21:21:49
 
Цитата
написал:
Вот по условиям непонятно - что делать с строками 9 и 11 - там нет
Добрый вечер.
Возможно несколько некорректно написал.
Имел ввиду, что после строки в который есть "тротуар" необходимо вставить две пустые строки после нее  и вставить две пустые строки до нее. Или вы о другом?
 
Код вставляет две пустые после неё.
Если нужно ещё и выше нужно добавить строки - вот это не прозвучало.
Тогда так - небольшая добавка:
Код
Sub Макрос33()
Dim i&
For i = (ActiveSheet.UsedRange.Row + ActiveSheet.UsedRange.Rows.Count) To ActiveSheet.UsedRange.Row Step -1
    If Cells(i, 4) = "Тротуар" Then
        Rows(i + 1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
        Rows(i + 1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
        Rows(i).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
        Rows(i).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
        End If
Next
End Sub
Изменено: Hugo - 12.10.2024 22:07:30
 
Цитата
AndZu написал:
вставить, две пустые строки после каждой строки в которой есть значение "тротуар", и две строки ниже
на всякий случай: две строки после и две строки ниже - это одинаковые понятия. Поэтому скорее всего опечатка в задаче.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
написал:
на всякий случай: две строки после и две строки ниже - это одинаковые понятия. Поэтому скорее всего опечатка в задаче.
Да, на ночь глядя замыленным глазам написал некорректно
Страницы: 1
Читают тему
Наверх