Домашняя страница Undo Do Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Готовые решения

МЕНЮ САЙТА
  • 1
  • 2
  • 3

КАТЕГОРИИ РАЗДЕЛА

ОПРОСЫ
Какой версией Excel Вы пользуетесь?
Всего ответов: 35687
Главная » Готовые решения » VBA » Полезные приёмы

Сортировки массивов. Пузырьковая сортировка.
23.10.2013, 17:06

Sub BubbleSort()
Dim tm!: tm = Timer
Dim x, tmp, i As Long, j As Long
x = Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row).Value
If UBound(x) > 5000 Then MsgBox "Больше 5000 сортировать не буду! Медленно.", 64: Exit Sub
For i = 1 To UBound(x)
 For j = 1 To UBound(x) - i
 If x(j, 1) > x(j + 1, 1) Then 'по возрастанию
' If x(j, 1) < x(j + 1, 1) Then 'по убыванию
 tmp = x(j, 1)
 x(j, 1) = x(j + 1, 1)
 x(j + 1, 1) = tmp
 End If
 Next j
Next i
Range("D1").Resize(UBound(x)).Value = x
MsgBox Timer - tm
End Sub
Добавил: nilem |
Просмотров: 3026 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Яндекс цитирования
© 2010-2016 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!