Здравствуйте, надеюсь на ваши безграничные знания. В таблицу генерируются случайные числа, после генерации надо отсортировать построчно от наименьшего, фильтр работает не корректно. Может есть хитрая формула подскажите как она выглядит. Заранее спасибо
Здравствуйте, надеюсь на ваши безграничные знания. В таблицу генерируются случайные числа, после генерации надо отсортировать построчно от наименьшего, фильтр работает не корректно. Может есть хитрая формула подскажите как она выглядит. Заранее спасибоandreika21
Сортировкой можно (благодаря тому, что генерация не формульная). Если по нескольким столбцам (У Вас, я смотрю, так, то и по нескольким она налаживается).
Формулами тоже можно. В файле приложил.
Сортировкой можно (благодаря тому, что генерация не формульная). Если по нескольким столбцам (У Вас, я смотрю, так, то и по нескольким она налаживается).
Формулами тоже можно. В файле приложил.Perfect2You
Perfect2You, Я пробывал сортировкой когда полная таблица обязательно несколько строчек не на своих местах и требуеться чтобы работало по нажатию кнопки был результат без лишних тело движений. Спасибо за фурмулу попробую дописать на всю таблицу
Perfect2You, Я пробывал сортировкой когда полная таблица обязательно несколько строчек не на своих местах и требуеться чтобы работало по нажатию кнопки был результат без лишних тело движений. Спасибо за фурмулу попробую дописать на всю таблицуandreika21
Сортировкой по одному столбцу - возможно. Но в сортировке можно добавлять дополнительные столбцы. И тогда результат оправдает Ваши ожидания.
Формулы - конечно, хорошо, но за ними следить надо, чтоб не съехали и чтобы весь диапазон охватывали.
Макрос - те же сложности. Он должен по каким-то признакам понимать: где начинать и где заканчивать данные. И если признаки ненароком или намеренно изменились, а макрос не поправили - тоже не сахар.
Думайте сами, решайте сами...
Сортировкой по одному столбцу - возможно. Но в сортировке можно добавлять дополнительные столбцы. И тогда результат оправдает Ваши ожидания.
Формулы - конечно, хорошо, но за ними следить надо, чтоб не съехали и чтобы весь диапазон охватывали.
Макрос - те же сложности. Он должен по каким-то признакам понимать: где начинать и где заканчивать данные. И если признаки ненароком или намеренно изменились, а макрос не поправили - тоже не сахар.
andreika21, посмотрите такой вариант сразу макросом сортировку [vba]
Код
Private Sub CommandButton1_Click() Dim arSl, Diap As Range Application.ScreenUpdating = 0 Range("B40:M199").ClearContents Randomize r_ = 33 r0_ = 40 c0_ = 2 c1_ = Cells(r_, Columns.Count).End(xlToLeft).Column If c1_ <= c0_ Then Exit Sub nr_ = Cells(r_, c0_) nc_ = c1_ - c0_ ReDim arSl(1 To nr_, 1 To 1) For i = 1 To nc_ x_ = Cells(r_, c0_ + i) For j = 1 To nr_ arSl(j, 1) = Int(Rnd() * x_) + 1 Next j Cells(r0_, c0_ + i - 1).Resize(nr_, 1).Value = arSl Cells(r0_, c0_ + i - 1).Resize(nr_, 1).Sort (Cells(r0_, c0_ + i - 1).Resize(nr_, 1)) Next i Application.ScreenUpdating = 1 End Sub
[/vba]
andreika21, посмотрите такой вариант сразу макросом сортировку [vba]
Код
Private Sub CommandButton1_Click() Dim arSl, Diap As Range Application.ScreenUpdating = 0 Range("B40:M199").ClearContents Randomize r_ = 33 r0_ = 40 c0_ = 2 c1_ = Cells(r_, Columns.Count).End(xlToLeft).Column If c1_ <= c0_ Then Exit Sub nr_ = Cells(r_, c0_) nc_ = c1_ - c0_ ReDim arSl(1 To nr_, 1 To 1) For i = 1 To nc_ x_ = Cells(r_, c0_ + i) For j = 1 To nr_ arSl(j, 1) = Int(Rnd() * x_) + 1 Next j Cells(r0_, c0_ + i - 1).Resize(nr_, 1).Value = arSl Cells(r0_, c0_ + i - 1).Resize(nr_, 1).Sort (Cells(r0_, c0_ + i - 1).Resize(nr_, 1)) Next i Application.ScreenUpdating = 1 End Sub