Страницы: 1
RSS
Добавление строки по условию изменения ячейки в строке
 
Всем привет!
не нашел решения своей задачи.
Задача: есть большая таблица с множеством строк. Нужно макросом добавить строчки при соблюдении следующих условий
1. макрос должен работать ТОЛЬКО в выделенном диапазоне Листа (таблицы)
2. Если в конкретном столбце в строке ниже стоит другой номер, то необходимо добавление между ними строки.
3. Номера могут отличаться на разное количество, но в любом случае они идут по возрастанию.
 
Цитата
Денис Колосов пишет: ... Задача...
Озадачиватели и решатели обитают по адресу - http://www.planetaexcel.ru/forum/?PAGE_NAME=list&FID=7 ... ;)
"Ctrl+S" - достойное завершение ваших гениальных мыслей!.. ;)
 
:o  гол как сокол   :D
Если серьезно, то уверен что тут не сложный макрос, но так как я могу только пользоваться "записью макросов" эта задача для меня не разрешима.
Изменено: Денис Колосов - 02.07.2013 09:23:05
 
Други, памажите..... а? Может кто сталкивался с этой проблемкой?
 
Неполно описаны условия... Я так понял, что, например, если выделен диапазон А9:А10 - должны вставиться и пронумероваться строки номерами 42...64. Так?
А если выделили В6:В7? Или А9:А19? Или вообще А23:А25? С выделением строк в столбце С что делать?
 
Нет, мне просто нужно добавить пустую строку. Выделять достаточно столбец А, так как смысл данного выделения только такой, чтобы за пределами этой таблицы макрос не работал. Количество строк в таблице не постоянно. Во вложении я прикрепил желаемый результат.
 
Так?
Код
Sub InsertRow()
Dim i As Long, rCell As Range
    For Each rCell In Selection
        If rCell <> "" Then
            If rCell.Offset(1, 0) <> rCell Then rCell.Offset(1, 0).EntireRow.Insert
        End If
    Next
End Sub
 
Юрий, спасибо огромное!
Не сочтите за наглость, хочу разобраться с вашим макросом. Можете подписать что делают команды?  Буду ОЧЕНЬ благодарен!
 
Код
Sub InsertRow()
Dim i As Long, rCell As Range
    For Each rCell In Selection 'Цикл по выделенным ячейкам
        If rCell <> "" Then 'Если текущая ячейка не пуста, то
            If rCell.Offset(1, 0) <> rCell Then rCell.Offset(1, 0).EntireRow.Insert 'Если значение в ячейке "ниже" не равно значению в текущей ячейке, то вставляем строку
        End If
    Next
End Sub
 
Спасибо, Юрий!
Как всегда спасибо вам и сайту!
 
Привет!
Прошу помогите!
Есть большая таблица с множеством строк. Нужно после каждого объекта (а их около 3000) добавить 12 пустых строк. Повторяющихся наименований объектов нет. И в таблице в которой мне нужно это провернуть между наименованиями объектом может быть разное количество строк(
Изменено: agafon_ - 18.11.2013 21:52:41 (уточнение)
Страницы: 1
Читают тему
Наверх