엑셀 VBA #31 / 정렬_2 [VBA] - 예제
1. 예제1 : 생년 기준으로 오름차순 정렬
Dim rng As Range
Set rng = Range("A1").CurrentRegion
Set rng = rng.Offset(, 1).Resize(, rng.Columns.Count - 1)
' rng변수이름 동일 적용하여, 순차적 적용 !!!!!!자세히 볼것,
'Offset(, 1) =offset(0,1)
'***Resize(, rng.Columns.Count - 1) = =Resize(rng.Rows.Count, rng.Columns.Count - 1)
=Resize(3, rng.Columns.Count - 1)
rng.Sort rng(3, 1), xlAscending, Orientation:=xlSortRows
2. 예제2
For Each c In Range("A1:A7") 'c는 A1 or A2 or......A7
Set rng = Range(c.Offset(0, 1), c.End(xlToRight)) 'a1에서부터 a1으로부터 셀값이 있는 오른쪽 셀까지
If rng.Count > 1 Then 'rng 영역 셀 갯수가 1보다 크면 아래 구문 적용
rng.Sort rng(1, 1), xlDescending, Orientation:=xlSortRows
End If 'rng 영역 셀 갯수가 1보다 작으면 위 구문 미적용
Next
- 구조 : 기준셀. Offset(행,열)
- 의미 : 기준셀에서부터 주어진 행렬 만큼 이동하기
Resize
구조 : 기준개체.Resize(행,열)
의미 : 기준개체를 바탕으로 행과 열만큼 영역을 재설정
!!!!! rng.Resize(,3).Select = rng.Resize(rng.Rows.Count,3).Select
Resize(,3)의 의미는 Resize(0,3)가 아니라~~~
https://www.youtube.com/watch?v=y52qcbqjpJI&list=PLfxvqpVCYZ8e0qlyc_FU46neoWjO7yTWj&index=31
'엑셀로 풀어가는 세상' 카테고리의 다른 글
엑셀 VBA #35 / 고급필터 [VBA] (0) | 2023.12.14 |
---|---|
엑셀 VBA #34 / 사용자정의 함수 [VBA] (0) | 2023.12.14 |
엑셀 VBA #33 / 자동필터_2 [VBA] (0) | 2023.12.14 |
엑셀 VBA #32 / 자동필터_1 [VBA] (0) | 2023.12.14 |
엑셀 VBA #30 / 정렬_1 [VBA] (0) | 2023.12.14 |
엑셀 VBA #29 / VBA함수(split) [VBA] (0) | 2023.12.13 |
엑셀 VBA #28 / 워크시트 함수 [VBA] - Match이용 (0) | 2023.12.13 |
엑셀 VBA #27 / 배열 [VBA] - 배열 (0) | 2023.12.13 |