Доброе утро уважаемые форумчане! Столкнулся с такой задачей: Есть у меня в столбце Е набор из +2000 строк. Хочу перемешать строки, которые содержат текст "КИНО", идущие подряд друг за другом, пока не появится пустая строка. Перемешивать строки можно только в пределах, диапазона, когда строки идут подряд.
Пытался прикрутить =СЛЧИС() и =ИНДЕКС(B$4:B$8;РАНГ($F7;$F$4:$F$8)), но данные перемешиваются по всему столбцу Е.
Z:\ПРИМЕР\03 ТГ ЕВРОПА 24.11_5К Z:\ПРИМЕР\03 ТГ БРАЗИЛИЯ _24.11_5Р Z:\ПРИМЕР\03 ТГ АРГЕНТИНА 1_23.11_5К Z:\ПРИМЕР\03 ТГ ЯМАЙКА 1_23.11_5Р Z:\ПРМЕР\НАЧАЛО Z:\ПРИМЕР\ВИДЕО\КИНО ВАША ПРОГРАММА Z:\ПРИМЕР\ВИДЕО\КИНО ТЕРРИТОРИЯ ЗАБЛУЖДЕНИЙ Z:\ПРИМЕР\ВИДЕО\КИНО ВОЕННАЯ ТАЙНА В СУББОТУ Z:\ПРИМЕР\ВИДЕО\КИНО НОВОСТИ С ПЕТРОМ МАРЧЕНКО Z:\ПРИМЕР\ВИДЕО\КИНО ЖИВОТНЫЕ СЕНТЯБРЬ
Конечный результат
Z:\ПРИМЕР\03 ТГ ЕВРОПА 24.11_5К Z:\ПРИМЕР\03 ТГ БРАЗИЛИЯ _24.11_5Р Z:\ПРИМЕР\03 ТГ АРГЕНТИНА 1_23.11_5К Z:\ПРИМЕР\03 ТГ ЯМАЙКА 1_23.11_5Р Z:\ПРМЕР\НАЧАЛО Z:\ПРИМЕР\ВИДЕО\КИНО ВАША ПРОГРАММА Z:\ПРИМЕР\ВИДЕО\КИНО ЖИВОТНЫЕ СЕНТЯБРЬ Z:\ПРИМЕР\ВИДЕО\КИНО ТЕРРИТОРИЯ ЗАБЛУЖДЕНИЙ Z:\ПРИМЕР\ВИДЕО\КИНО НОВОСТИ С ПЕТРОМ МАРЧЕНКО Z:\ПРИМЕР\ВИДЕО\КИНО ВОЕННАЯ ТАЙНА В СУББОТУ
Но пока нет в голове понимания как это сделать.
Обычно делал так: 1. копировал столбец Е в столбец Н 2. добавлял формулу "=СЛЧИС()" в столбец J и растягивал на +2000 строк 3. Выделял строки, в которых есть текст "КИНО" 4. Нажимал сортировка по возрастанию столбца J Это очень утомительно и однообразно.
Решить проблему хотел макросом. Подскажите пожалуйста, что можно сделать с такой задачей. Заранее спасибо всем откликнувшимся! Файл примера прилагаю вложением.
Sub Макрос3()
Dim r As Range
Application.ScreenUpdating = False
ActiveSheet.AutoFilterMode = False
Range("E1").Insert Shift:=xlDown
Range("E1") = "a"
Columns("E:E").AutoFilter Field:=1, Criteria1:="=*КИНО*"
ActiveSheet.AutoFilter.Range.Offset(, 1).Formula = "=RAND()"
For Each r In Range("F2:F" & Cells(Rows.Count, "E").End(xlUp).Row).SpecialCells(xlCellTypeVisible).Areas
r.Offset(, -1).Resize(, 2).Sort r.Cells(1), Header:=xlNo
Next
Cells.AutoFilter
Range("F:F").Clear
Range("E1").Delete xlUp
Application.ScreenUpdating = True
End Sub