VBA 숫자 정렬, 버블정렬 1탄
2020. 1. 8. 13:18ㆍVBA/배열활용
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
반응형
'VBA > 배열활용' 카테고리의 다른 글
VBA 배열 내에서 날짜비교 최신날짜 가져오기 (MAX 미사용) (0) | 2020.04.13 |
---|---|
VBA 배열과 Range의 속도차이! (0) | 2020.01.08 |
VBA Redim Preserve 하다보면 발생하는 오류 '형식이 맞지 않습니다.' (0) | 2020.01.08 |
VBA 배열 중복 제거 후 재 할당하기 (0) | 2018.12.07 |
이미 2행으로 입력 된 배열에 3행 추가 방법 (0) | 2018.12.07 |