VBA 범위 선택하기 1탄 (Range)
VBA를 본격적으로 활용하기 위해서는 적용하고자하는 범위를 선택하는 방법을 알아야 하는데요. VBA에서 자주 사용되는 6가지의 범위선택법을 학습하여 VBA의 기초를 다져볼게요!
앞서 VBA를 사용하기 위한 기본적으로 적용하여야 하는 것들과 기초용어에 대해 알아보았는데요. 기초용어를 숙지하신 후 따라오시면 조금 더 VBA 프로세스를 이해하시는데 도움이 될 거 같아요~! 기억이 안 나신다면 아래 링크 남겨 놓을 테니 다시 한번 읽어 보세요.^^
그럼 오늘은 엑셀 범위 설정법에 대해 알아보도록 하겠습니다. 엑셀로 함수를 사용해 보신 분이라면 함수 수식을 적용할 때 계산하고자 하는 범위를 설정하여 계산하실 거예요. 엑셀 자동화를 위해서는 내가 원하는 범위를 설정하는 방법에 대해 익숙해질 필요가 있어요! 그럼 VBA상에서 범위를 설정하기 위한 방법에는 어떠한 것들이 있는지 알아보도록 해요.^^
VBA 범위 목차
1. VBA 범위 선택하기 1탄 : Range로 범위 선택
2. VBA 범위 선택하기 2탄 : Cells와 Resize, Offset의 궁합을 통한 범위 선택
3. VBA 범위 선택하기 3탄 : Union, Intersect을 사용한 범위 선택
4. VBA 범위 선택하기 4탄 : Special cells를 통한 범위 선택
5. VBA 범위 선택하기 5탄 : UsedRange, CurrentRegion, entirerow(column)을 통한 범위 선택
6. VBA 범위 선택하기 6탄 : Areas를 사용한 범위 선택
총 6탄에 걸쳐서 범위 선택의 기본 사용법과 차이에 대해 알아보도록 할게요! 그럼 VBA 범위 선택하기 1탄! Range로 범위 선택하기 시작해 보시죠!
Range는 가장 빈번하게 사용되는 범위설정 방법이에요.
VBA에서 범위를 가장 직관적으로 설정할 수 있는 방법은 Range를 사용하는 것인데요. 특히 연속 범위를 설정하는데 편하게 사용될 수 있어요. 그럼 예시를 통해 사용법을 알아보도록 할게요.
예시를 보면 1반부터 8반까지의 전체 학생수와 남학생, 여학생수가 보이실 텐데요. VBA를 통해 학생수와 남학생, 여학생의 합계를 구해보도록 할게요.
기본적으로 각 항목의 합계를 산출하기 위해 범위를 설정하고 Sum함수를 사용하겠습니다. 초록색으로 표시된 '설명은 주석을 의미하며, 해당 내용에 대한 설명을 기입할 수 있어요.
sub student() dim s as range, boy as range, girl as range ' 범위 변수 설정을 위한 변수 선언 set s = Range("C3:C10") ' 전체 학생수 범위 set boy = Range("D3:D10") ' 남학생수 범위 set girl = Range("E3:E10") ' 여학생수 범위 Range("C11") = Application.WorksheetFunction.Sum(s) ' Sum함수 사용을 위한 기본 문법 ' 학생수의 합을 C 11셀에 입력(cells로 대체 가능) Range("D11") = Application.Sum(boy) ' 함수 사용 시, WorksheetFunction 생략 가능 ' 남학생수의 합을 D11셀에 입력(cells로 대체 가능) Range("E11") = WorksheetFunction.Sum(girl) ' 함수 사용 시, Application 생략 가능 ' 여학생수의 합을 E11셀에 입력(cells로 대체 가능) end sub |
하나씩 설명을 드리자면 전체 학생수, 남학생수, 여학생수의 합을 각각 C11, D11, E11셀에 넣는 방법인데요. 더할 범위를 개체 변수 S, boy, girl에 담은 후 Sum함수 안에 범위를 설정하였어요.
Sum 안에 직접 Range로 넣어도 되지만, 우리는 변수가 무엇인지 앞에서 알아보았고, 변수를 사용하는 것이 효율적이기 때문에 변수 설정을 습관화할 필요가 있어요. (내용 수정 시에도 변수 내용만 변경하면 전체 내용이 변경될 수 있어 일일이 동일 내용을 바꿀 필요가 없어요.)
변수가 기억이 안 나신다면 아래 링크로 가셔서 학습하시면 큰 도움이 되실 거예요!
다음 Sum 한 값을 C11, D11, E11에 넣기 위해 위치를 지정한 후 Sum을 적용해 주었는데요. 전체 학생수를 계산하는 Application.WorksheetFunction.Sum(s)이 정식 문법이에요. 다만, Application.WorksheetFunction은 생략이 가능하기에 대체로 생략 후 사용합니다.(프로그래밍의 간소화를 위해..)
Cells을 사용하여 Range처럼 범위를 정할 수 있는데요. Cells는 resize와 조합을 이루어 범위를 설정할 수 있어요. Cells의 경우에는 resize, Offest과 조합이 잘 맞는 편이라 다음 포스팅을 통해 별도로 다루어 볼게요.
▼▼▼함께 보면 좋은 정보▼▼▼
지금 투자하는 시간은 나를 자유롭게 만드는 시간이다.
댓글