Страницы: 1
RSS
Макрос переноса строк по условию
 
Во вложении файл с данными. Подскажите, пожалуйста, макрос, который будет сканировать столбец D до первого найденного слова Мандарин или Апельсин (эти слова прописать в макросе), вырезать строки, начиная с 7 и до найденного слова и вставлять их вниз отчета с добавление пустой строки-разделителя этих "блоков" (см. файлы во вложении ДО и ПОСЛЕ). Цвет в файлах использовать не надо, я просто раскрасил для примера. Заранее спасибо за Ваше решение!!!
Изменено: Евгений И. - 14.06.2019 08:34:19
 
Код
Sub test()
    Dim rcount&, i&, lrow&
    Dim creteriy$
    creteriy = "апельсин"
    lrow = Cells(Rows.Count, "e").End(xlUp).Row
    For i = 7 To lrow
        If UCase(Cells(i, "d").Value) = UCase(creteriy) Then Exit For
    Next i
    rcount = i - 1
    Rows("7:" & rcount).Copy Cells(lrow + 2, "a")
    Rows("7:" & rcount).Delete
End Sub
"Все гениальное просто, а все простое гениально!!!"
 
Спасибо за решение, оно пока работает частично, то есть по одному слову, подскажите, пожалуйста, как его распространить на 2 слова Апельсин ИЛИ Мандарин, чтобы по поиску любого из этих двух слов все работало, как у Вас прописано? creteriy = "апельсин" or "мандарин"?)) Как правильно это написать в макросе?
Изменено: Евгений И. - 14.06.2019 11:03:16
 
Если сравнение будет т0лько по 2 словам, то можете сделать доп переменную, либо сделайте массив из 2 значений и проверяйте циклом по массиву, но это будет сложнее в написании кода. Использование массива будет целесообразней если у вас будет более 3 критериев сверки.
"Все гениальное просто, а все простое гениально!!!"
 
Спасибо большое за ответ, я не программист, но попробую нарисовать через вторую переменную))) Критерия всего 2)
Изменено: Евгений И. - 14.06.2019 11:06:14
 
Цитата
Евгений И. написал:
я не программист
Я тоже, по образованию автослесарь  :D  ;)
"Все гениальное просто, а все простое гениально!!!"
Страницы: 1
Наверх