VBA 숫자 정렬, 버블정렬 1탄

2020. 1. 8. 13:18VBA/배열활용

728x90
반응형

 

소스 

 

Sub GoGo_Bubble()

Dim m As Workbook: Dim ms As Worksheet
    
Set m = Workbooks(ThisWorkbook.Name)
Set ms = m.Sheets(ActiveSheet.Name)

Dim num() As Variant

' //임의 숫자 버블정렬 하기.
num() = Array(10, 3, 6, 7, 4, 2, 9, 8, 1)

' //cells에 뿌려보기
For i = 0 To UBound(num)
    ms.Cells(i + 1, 1) = num(i)
Next i

' //Bubble 함수 호출
Call Bubble_Ssun(num())

' //cells에 뿌려보기
For i = 0 To UBound(num)
    ms.Cells(i + 1, 2) = num(i)
Next i

End Sub



함수

Sub Bubble_Ssun(ByRef num() As Variant)
' //버블 정렬 # Sun Bae Lee

Dim i As Integer, j As Integer, tmp As Integer
For i = 0 To UBound(num) - 1
    For j = 0 To UBound(num) - 1
        If num(j) > num(j + 1) Then     ' //앞 숫자가 크면 뒤로 보내야 함.
            tmp = num(j)                ' //큰 숫자 임시 저장
            num(j) = num(j + 1)         ' //작은 숫자는 앞으로
            num(j + 1) = tmp            ' //큰 숫자는 뒤로
        End If
    Next j
Next i

End Sub

 

 

728x90
반응형