Я хочу отсортировать столбец по алфавиту (E), но мне нужно изменить значения в моих столбцах, чтобы алфавитный порядок был правильным, например: у меня есть R1, R2, R3 ... R100, CN1, CN10и т.д ... По алфавиту R100 идет перед R2.Итак, у меня есть очень большая формула со встроенными If, Concatenates и т. Д. Для добавления нулей буфера (R001, R002, R100, CN001, ...)
Прямо сейчас мой макрос добавляет столбец с моимформула (R1C1), сортировка таблицы по этому новому столбцу, затем удаление столбца.
Я новичок в VBA и мне интересно, как я могу создать диапазон из этой формулы, и сортировать напрямую мой правильный столбециз этого нового диапазона.
(как бы я создал этот диапазон из другого моего диапазона, не сохраняя его в другом столбце?)
Например:
ActiveWorkbook.Worksheets("sheet1").Select
Columns("E:M").Sort key1:=CREATED_RANGE, order1:=xlAscending, Header:=slYes
Моя формула для отступа 000:
= IF (ISBLANK (E2) = FALSE, IF (ISERROR (VALUE (RIGHT (E2,3)))) = FALSE, E2, IF (AND (ISERROR)(ЗНАЧЕНИЕ (MID (E2,2,1))) = TRUE, ЕОШИБКА (ЗНАЧЕНИЕ (ПРАВЫЙ (E2,2))) = FALSE), СЦЕПИТЬ (ЛЕВЫЙ (E2,2), 0, ПРАВЫЙ (E2,2)), IF ((И (ISERROR (VALUE (MID (E2,2)))) = FALSE, ISERROR (VALUE (RIGHT (E2,2))) = FALSE)), CONCATENATE (LEFT (E2,1), 0, ПРАВЫЙ (E2,2)), ЕСЛИ (ЕОШИБКА (ЗНАЧЕНИЕ (MID (E2,2,1))) = TRUE, СЦЕПИТЬ (ЛЕВЫЙ (E2,2), "00", RIGHT (E2,1)), CONCATENATE (LEFT (E2,1), "00", RIGHT (E2,1)))))), "")