Процедура для сортировки небольших массивов (до 32767 элементов по горизонтали): Прочитал про заварку и понял, что зря я здесь это выложил) Если что, то в переменной "n" процедуры номер сортируемой строки.
Код
Sub ArrSort(mass(), ByVal n%)
Dim a%, b%, c%, i%, xx%, jj%, mm, x1%
Dim arr%(), arr0%(), sArr()
If UBound(mass, 2) < 2 Then Exit Sub
ReDim arr(1 To UBound(mass, 2))
ReDim arr0(1 To UBound(mass, 2)): xx = 1
For i = 1 To UBound(mass, 2): arr(i) = i: Next
b = UBound(mass, 2): c = b / 1.247331: i = 1
Do While c > 2
Do While i + c <= b
If mass(n, arr(i)) > mass(n, arr(i + c)) Then
x1 = arr(i): arr(i) = arr(i + c): arr(i + c) = x1
End If
i = i + 1
Loop
c = c / 1.247331: i = 1
Loop
jj = xx: arr0(xx) = arr(1)
For c = 2 To b
xx = xx + 1: x1 = xx
mm = mass(n, arr(c))
Do While mass(n, arr0(x1 - 1)) > mm
arr0(x1) = arr0(x1 - 1): x1 = x1 - 1
If x1 = jj Then Exit Do
Loop
arr0(x1) = arr(c)
Next
ReDim sArr(1 To UBound(mass, 1), 1 To UBound(mass, 2))
For a = 1 To UBound(arr0)
For c = 1 To UBound(mass, 1)
sArr(c, a) = mass(c, arr0(a))
Next c
Next a: Erase arr: Erase arr0
mass = sArr: Erase sArr
End Sub
Bema написал: НАИМЕНЬШИЙ() функцию поюзайте. Должна помочь.
{=(НАИМЕНЬШИЙ(($B3:$F3);СТОЛБЕЦ(A:A)))}
вроде разобрался, спасибо за совет, правда придётся создавать новую таблицу и потом ctrl+c ctrl+v, но это не сложно. совет с #3 у меня не сработал, не знаю почему, в некоторых строках заменят по возрастанию, а в некоторых наоборот, хз что за фигня(наверно я что-то не так сделал, хотя где там можно что-то напутать...)
народ кидающий макросы и тп, вы считаете человек который шарит в макросах не сможет расставить значения по возрастанию?)))
да надо как-нибудь сесть и разобраться что же такое макросы и как их вообще запускать, но времени нет, да и работаю совсем в другой сфере(тобишь может раз в жизни пригодится, а может и не разу)))
OFF:
ser987, Вы удивитесь, но здесь на форуме мало профессиональных программистов. Все тоже искали ответы и пр.. Пишу на VBA седьмой год и ни копейки на этом не заработал)