Сортировка выбором: различия между версиями

[отпатрулированная версия][отпатрулированная версия]
Содержимое удалено Содержимое добавлено
Инструкция, удаление которой не влияет на результат работы программы.
→‎Реализация на VBA: к удалению. Хотя бы прочитали то, что ВЫШЕ написано
Строка 161:
 
Существует также двунаправленный вариант сортировки методом выбора, в котором на каждом проходе отыскиваются и устанавливаются на свои места и минимальное, и максимальное значения.
 
==Реализация на VBA==
<syntaxhighlight lang="vb">
Sub VSort()
For i = 1 To 10 Step 1
For j = i + 1 To 10 Step 1
If ActiveSheet.Cells(i, 1) > ActiveSheet.Cells(j, 1) Then
ActiveSheet.Cells(i, 1) = ActiveSheet.Cells(i, 1) + ActiveSheet.Cells(j, 1)
ActiveSheet.Cells(j, 1) = ActiveSheet.Cells(i, 1) - ActiveSheet.Cells(j, 1)
ActiveSheet.Cells(i, 1) = ActiveSheet.Cells(i, 1) - ActiveSheet.Cells(j, 1)
End If
Next j
Next i
End Sub
</syntaxhighlight>
<syntaxhighlight lang="vb">
' С использованием переменной c.
Sub VSort()
For i = 1 To 10 Step 1
For j = i + 1 To 10 Step 1
If ActiveSheet.Cells(i, 1) > ActiveSheet.Cells(j, 1) Then
с = ActiveSheet.Cells(i, 1)
ActiveSheet.Cells(i, 1) = ActiveSheet.Cells(j, 1)
ActiveSheet.Cells(j, 1) = c
End If
Next j
Next i
End Sub
</syntaxhighlight>
Здесь сортируются ячейки напрямую. ActiveSheet.Cells(i, 1) - обращение к ячейке с (1, i). Обратите внимание, что координаты ячеек в VBA задаются как (y, x) - номер колонки и номер ряда, в котором расположена ячейка. Также помните, что ячейки индексируются с 1.
 
== Литература ==