Sub ki309() Dim dat As Variant '下記はデバッグ用数字入力 dat = Array(3, 1, 8, 0, 9, 4, 2, 5, 6, 7) msg = "" For i = 0 To 9 msg = msg & "(" & i & ":" & dat(i) & ")" Next MsgBox msg & Chr$(10) & Chr$(10) & " 上記のデータを降順に並びかえます" For j = 0 To 9 For r = 9 To j Step -1 If dat(j) < dat(r) Then datm = dat(j) dat(j) = dat(r) dat(r) = datm End If Next Next msg = "" For i = 0 To 9 msg = msg & "(" & i & ":" & dat(i) & ")" Next MsgBox msg End Sub