変数 変数だけでソート(並び替え)昇順降順

VB&VBA
FROG ふろっぐ
 
  • オプション

    本文印刷

    お気に入りに追加

  • 検索

    Googlewwwjp-ia
     

    Googlewwwjp-ia
     
  • 情報

  • 関連

[VB&VBA][変数 変数だけでソート(並び替え)昇順降順]
Option Explicit


Private Sub test()
'*************************************
'変数だけでソート(並び替え)昇順降順
'*************************************

Dim i As Byte, str As String
Dim testData() As Long
ReDim testData(10) As Long
testData(1) = 3
testData(2) = 7
testData(3) = 1
testData(4) = 9
testData(5) = 2
testData(6) = 5
testData(7) = 8
testData(8) = 4
testData(9) = 6
testData(10) = 0

VariableSortAsc testData
str = ""
For i = 1 To 10
str = str & i & vbTab & testData(i) & vbCr
Next i
MsgBox str

ReDim testData(10) As Long

testData(1) = 3
testData(2) = 7
testData(3) = 1
testData(4) = 9
testData(5) = 2
testData(6) = 5
testData(7) = 8
testData(8) = 4
testData(9) = 6
testData(10) = 0

VariableSortDes testData
str = ""
For i = 1 To 10
str = str & i & vbTab & testData(i) & vbCr
Next i
MsgBox str
End Sub


Sub VariableSortAsc(lngData As Variant)
'*************************************
'変数だけでソート(並び替え)昇順
'*************************************
'Ascending order 昇順
'1次元用
Dim MainSort As Long
Dim SubSort As Long
Dim lngChange As Long

    For MainSort = LBound(lngData) To UBound(lngData)
        For SubSort = UBound(lngData) To MainSort Step -1
            If lngData(MainSort) > lngData(SubSort) Then
                lngChange = lngData(MainSort)
                lngData(MainSort) = lngData(SubSort)
                lngData(SubSort) = lngChange
            End If
        Next SubSort
    Next MainSort

End Sub


Sub VariableSortDes(lngData As Variant)
'*************************************
'変数だけでソート(並び替え)降順
'*************************************
'Descending order 降順
'1次元用
Dim MainSort As Long
Dim SubSort As Long
Dim lngChange As Long

    For SubSort = UBound(lngData) To MainSort Step -1
        For MainSort = LBound(lngData) To UBound(lngData)
                If lngData(MainSort) < lngData(SubSort) Then
                    lngChange = lngData(MainSort)
                    lngData(MainSort) = lngData(SubSort)
                    lngData(SubSort) = lngChange
                End If
        Next MainSort
    Next SubSort

End Sub





Production Japan Import Application. Since 1998