오늘은 다중 For each를 해보려고 한다.
보통 다중 For문을 많이 사용하고 다중 For each는 많이 사용하지 않지만 본인들의 코드가 조금더 업그레이드 되려면 For each를 잘 다루어야 한다.
다중 For 문을 사용하는 이유는 막상 For each문을 쓰려면 영역안의 행과 열의 위치를 찾아내기가 힘들어 하기 때문이다.
문제는 이렇다. 각 X들의 묶음을 하나로 해서 계산을 하여 AA열에 그 값을 출력하는게 문제이다.
해법으로는 묶음들을 보면 공백xxx공백 이런식으로 되어 있기에 이 값을 찾기 위해서는 자신의 위치는 공백인데 그 다음 열이 값이 X인 값들을 찾으면 된다.
여기서 유의할 점이 있다.
바로 각 행의 1번째 값이 X가 있는 상황이다. 다시 말하면 해법으로 제시한 경우는 자기 자신은 공백이고 그 다음이 X여야 하는데, 자기 자신이 X이고 처음부터 나온 값이 나오는 상황은 해법의 경우에 포함되지 않으니 이를 위한 예외 구문이 필요하다.
이 문제를 풀기 위해선 보통 변수 i와 j를 정수로 선언하여 행을 반복하면서 각 행의 열을 반복하며 값을 구한다.
dim i&, j&
for i=1 to end.rows
for j=1 to end.columns
실행
next j
next i
각자 편하고 익숙한 방법을 자신의 무기로 사용하면 되는데 For each를 사용하고 싶은데 cells의 위치를 나타내는 방법을 몰라서 for문을 사용하는 분들에게 오늘의 코드가 그 해결책이 되길 바란다.
'VBA' 카테고리의 다른 글
[VBA_재귀함수] 1-9까지의 수를 넣어 다음식을 완성하라 (0) | 2021.08.22 |
---|---|
[VBA_재귀함수] 문제적 남자 문제 풀이 (0) | 2021.08.22 |
[VBA_ArrayList] ArrayList를 통한 중복값 제거 후 정렬하기 (0) | 2021.08.18 |
[VBA_재귀함수] 모든 경우의 수 순열구하기 (0) | 2021.08.17 |
[VBA_STRCONV] 문자열 함수 (0) | 2021.08.17 |
댓글