1〜5番目で、一番小さい数字を探します。
- 一番小さい数字用の変数を宣言します。
Dim min_suji As Integer '一番小さい数字
Dim min_no As Integer '一番小さい数字が何番目か
- まず1番目の数字が一番小さいと仮定します。
一番小さい数字の情報を、変数 min_suji, min_no にセットします。
min_suji = Cells(1, 1) 'min_suji ← 1番目の数字
min_no = 1 'min_no ← 1(番目)
- 2番目の数字と一番小さい数字を比較します。
If Cells(1, 2) < min_suji Then
もし2番目の数字のほうが小さいなら、2番小さい数字の情報を、変数 min_suji, min_no にセットします。
min_suji = Cells(1, 2) 'min_suji ← 2番目の数字
min_no = 2 'min_no ← 2(番目)
End If
- 3番目の数字と一番小さい数字を比較します。
If Cells(1, 3) < min_suji Then
もし3番目の数字のほうが小さいなら、3番小さい数字の情報を、変数 min_suji, min_no にセットします。
min_suji = Cells(1, 3) 'min_suji ← 3番目の数字
min_no = 3 'min_no ← 3(番目)
End If
- 4番目の数字と一番小さい数字を比較します。
If Cells(1, 4) < min_suji Then
もし4番目の数字のほうが小さいなら、4番小さい数字の情報を、変数 min_suji, min_no にセットします。
min_suji = Cells(1, 4) 'min_suji ← 4番目の数字
min_no = 4 'min_no ← 4(番目)
End If
- 5番目の数字と一番小さい数字を比較します。
If Cells(1, 5) < min_suji Then
もし5番目の数字のほうが小さいなら、5番小さい数字の情報を、変数 min_suji, min_no にセットします。
min_suji = Cells(1, 5) 'min_suji ← 5番目の数字
min_no = 5 'min_no ← 5(番目)
End If
はい、これで、変数 min_suji には一番小さい数字が、変数 min_no には一番小さい数字が何番目かが入っています。
どうして変数 min_no が必要なのかが、わからない人がいますか?
一番小さい数字と「入れ替え」なければならないからです。
「入れ替え」は、どうするのでしたか?
If min_no <> 1 Then
もし一番小さい数字が、1番目の数字でなければ
Cells(6, 6) = Cells(1, 1) '第3のセル ← 1番目の数字
Cells(1, 1) = Cells(1, min_no) '1番目のセル ← 一番小さい数字
Cells(1, min_no) = Cells(6, 6) '一番小さい数字のセル ← 第3のセル
End If
さ、これでプログラムを完成してください。
そして、もちろん、Do 〜 Loop に直してくださいね。
ではでは、グッド・ラック!
|