Сортировка по 3 строки в Excel - VBA

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток, работа в Exel 2007. В таблице есть некие блоки высотой в 3 строки, а длиной в 6 столбцов (с A по F) длина не фиксированная, может быть любой. Задача макроса заключается в следующем, чтобы отсортировать 3036 строк по первой строке и второму столбцу, каждого блока 3х6, т.е. сначала B-2 потом B-5 (конечно если в блоке c B-5 данная ячейка будет следовать по алфавиту за B-2)

Решение задачи: «Сортировка по 3 строки в Excel»

textual
Листинг программы
Sub asd()
Dim rn As Range, r As Long
Set rn = Selection
For r = 1 To rn.Rows.Count Step 3
  rn(r, 1) = rn(r, 2) & rn(r + 1, 2) & rn(r + 2, 2)
  rn(r + 1, 1) = rn(r, 1)
  rn(r + 2, 1) = rn(r, 1)
Next
rn.Sort rn(1)
rn.Columns(1).ClearContents
For r = 1 To rn.Rows.Count Step 3
  rn(r, 1) = r \ 3 + 1
Next
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.167 из 5