Я хочу переключать сортировку с возрастания на убывание всякий раз, когда изменяется переменная в столбце моего набора данных. Пример демонстрации сортировки, которую я хочу, заключается в следующем. Я попытался добавить еще один столбец, чтобы добавить нечетное или четное число, а затем отсортировать по возрастанию, когда он четный, и по убыванию, если нечетный, но не знаю, как заставить это работать. Как я могу чередовать сортировку этих переменных по макросам, так как это невозможно сделать вручную для большого набора данных?
ID Sales
Apple 10
Apple 2
Apple 12
Orange 15
Orange 4
Guava 2
Guava 18
Guava 20
Guava 3
ID Sales
Apple 12
Apple 10
Apple 2
Orange 4
Orange 15
Guava 20
Guava 18
Guava 3
Guava 2
Я нашел код VBA для вставки пустой строки при изменении переменной. ссылка на сайт Можно ли это изменить, чтобы изменить порядок сортировки?
sub AddBlankRows()
'
dim iRow as integer, iCol as integer
dim oRng as range
set oRng=range("a1")
irow=oRng.row
icol=oRng.column
do
'
if cells(irow+1, iCol)<>cells(irow,iCol) then
cells(irow+1,iCol).entirerow.insert shift:=xldown
irow=irow+2
else
irow=irow+1
end if
'
loop while not cells (irow,iCol).text=""
'
end sub
microsoft-excel
sorting
Anusha
источник
источник
Ответы:
Этот код VBA запрашивает входной номер (любое число, четное по возрастанию, нечетное по убыванию), проверьте его с помощью
Mod
Функция и сортировка данных «A1: B11» с заголовком, вы можете изменить его на ваши реальные данные (сортировка по столбцу 1 (A) по возрастанию, столбец 2 (B) по возрастанию или убыванию в соответствии с входным номеромисточник