[ VBA - for,if,case ]
1. For문
1. 반복문이 필요할 경우 For문을 이용한다.
2. 범례 : For Each [개체 변수] In [컬렉션 개체]
~~
[ Exit For ]
Next [개체 변수]
3. 컬렉션 개체
- 여기에서의 전체는 셀수 있는 개체(영어로 Collection) 또는 varinat형 변수가 들어간다.
- 컬렉션 : 하나 둘씩 세어서 모을 수 있는 개체이다.
- 대표적인 컬렉션에는 셀(cells), 영역(range 또는 areas), 시트(sheets), 워크북(workbooks),
윈도우(windows), 도형(shapes), 페이지(pages), 차트(charts), 테두리(borders) 등이 있다.
당연히 하나 둘씩 셀 수 없는 덩어리, 예를 들면 수식, 서식, 색깔, 크기 등등은 들어갈 수 없다.
4. 기본 예문
- For Each rngC In Selection
: 선택한 전체 영역(Slelection)의 각 셀(rngC)을 윗그림과 같이 좌에서 우로,
위에서 아래로 순환. 선택한 셀이 10 개이면 10번을 반복할 것이고,
1개의 셀만의 선택하였다면 한 번만 반복할 것이다.
- Dim rngC As Range 'rngC를 영역(range)으로 정의
For Each rngC In Range("A1:A5")
: 선택한 전체 영역(A1:A5)의 각 셀(rngC)을 순환. A1:A5는 총 5개의 셀이므로 5회를 반복한다.
- Dim wkSht As WorkSheet 'wkSht를 시트로 정의
For Each wkSht In ActiveWorkbook.WorkSheets
: 현재 파일내에 있는 모든시트(WorkSheets)의 각 시트(wkSht)를 순환. 시트 개수만큼 반복
- Dim shp As Shape 'shp를 도형으로 정의
For Each shp In ActiveSheet.Shapes
: 현재 시트에 있는 전체 도형(Shapes)의 각 도형(shp)을 순환. 시트내의 도형 개수만큼 반복
5. 사용예문
- For 카운터 = 시작번호 to 끝번호 [ Step 간격 ]
~
Next [카운터]
- Dim WS As Worksheet
For Each WS In Activeworkbook.Worksheets
~
Next WS
- For Each ran In Range("A1:B6")
ran.Value = i
~
Next
9. 참고 URL : http://blog.naver.com/rosa0189/60149221111