본문 바로가기

VBA 범위 선택하기 1탄 (Range)

택이형. 2022. 11. 26.

 

VBA를 본격적으로 활용하기 위해서는 적용하고자하는 범위를 선택하는 방법을 알아야 하는데요. VBA에서 자주 사용되는 6가지의 범위선택법을 학습하여 VBA의 기초를 다져볼게요!

 

 

Range로 범위선택하기



앞서 VBA를 사용하기 위한 기본적으로 적용하여야 하는 것들과 기초용어에 대해 알아보았는데요. 기초용어를 숙지하신 후 따라오시면 조금 더 VBA 프로세스를 이해하시는데 도움이 될 거 같아요~! 기억이 안 나신다면 아래 링크 남겨 놓을 테니 다시 한번 읽어 보세요.^^

 

VBA 편집창과 개체, 속성, 매서드가 무엇인가요??

안녕하세요. 택이형과 회사에서 생존하기 택이형입니다. 회사에서 칼퇴를 보장하고 정확성을 높여주기 위해 가장 기본이 되는 프로그램이 VBA라고 설명드렸는데요! 오늘은 VBA 편집 창의 구성과

lst914.tistory.com


그럼 오늘은 엑셀 범위 설정법에 대해 알아보도록 하겠습니다. 엑셀로 함수를 사용해 보신 분이라면 함수 수식을 적용할 때 계산하고자 하는 범위를 설정하여 계산하실 거예요. 엑셀 자동화를 위해서는 내가 원하는 범위를 설정하는 방법에 대해 익숙해질 필요가 있어요! 그럼 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를 사용하는 것인데요. 특히 연속 범위를 설정하는데 편하게 사용될 수 있어요. 그럼 예시를 통해 사용법을 알아보도록 할게요.

Range 범위 설정 예시
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로 넣어도 되지만, 우리는 변수가 무엇인지 앞에서 알아보았고, 변수를 사용하는 것이 효율적이기 때문에 변수 설정을 습관화할 필요가 있어요. (내용 수정 시에도 변수 내용만 변경하면 전체 내용이 변경될 수 있어 일일이 동일 내용을 바꿀 필요가 없어요.)

변수가 기억이 안 나신다면 아래 링크로 가셔서 학습하시면 큰 도움이 되실 거예요!

 

VBA 변수? 변수의 의미와 자료형, 변수에 데이터 넣는 방법은!?!?

안녕하세요. 택이 형과 VBA로 생존하기 택이 형입니다. 오늘은 VBA의 변수에 대해 정리해 보고자 합니다. "변수란 무엇인지?", "변수의 자료형은 어떠한 것들이 있는지?", "변수는 어떻게 사용하는

lst914.tistory.com


음 Sum 한 값을 C11, D11, E11에 넣기 위해 위치를 지정한 후 Sum을 적용해 주었는데요. 전체 학생수를 계산하는 Application.WorksheetFunction.Sum(s)이 정식 문법이에요. 다만, Application.WorksheetFunction은 생략이 가능하기에 대체로 생략 후 사용합니다.(프로그래밍의 간소화를 위해..)

Cells을 사용하여 Range처럼 범위를 정할 수 있는데요. Cells는 resize와 조합을 이루어 범위를 설정할 수 있어요. Cells의 경우에는 resize, Offest과 조합이 잘 맞는 편이라 다음 포스팅을 통해 별도로 다루어 볼게요.

 

▼함께 보면 좋은 정보

 

VBA 범위 선택하기 6탄! Areas를 사용한 범위 선택!!

UsedRange, CurrentRegion이 연속적인 범위를 설정하는 방법으로 주로 사용되었다면, Areas의 경우는 비연속적인 범위를 설정하는 방법으로 사용됩니다. VBA반복문과 궁합이 잘맞기 때문에 학습해 두시

lst914.tistory.com

 

 

VBA 범위 선택하기 5탄 (UsedRange, CurrentRegion, entirerow)

『 UsedRange, CurrentRegion, entirerow는 연속된 범위를 설정하는 방법으로 유용하게 사용될 수 있어요. 다양한 예시를 통해 학습하시면 VBA실력이 한단계 업그레이드 될거에요. 』 오늘은 VBA 범위 선택

lst914.tistory.com

 

 

VBA 범위 선택하기 4탄 (Specialcells 사용법)

『 Specialcells는 엑셀 VBA에서 약방의 감초같은 역할을 하는데요. 다양한 옵션을 사용할 수 있기때문에 범위선택을 위한 유용한 역할을 하고 있어요. 빈셀이나 수식이 입력된 셀 등 특수한 상황에

lst914.tistory.com

 

VBA 범위 선택하기 3탄 (Union, Intersect 사용법)

『 Union, Intersect를 활용하면 교집합과 합집합의 범위를 한번에 설정할 수 있어요. 특히 Union의 경우는 앞으로 변수들을 합치는 방법으로도 사용될 예정이니 꼭 완벽숙지하시기 바래요! 』 오늘을

lst914.tistory.com

 

 

 

지금 투자하는 시간은 나를 자유롭게 만드는 시간이다.

댓글