본문 바로가기

VBA 기초! UsedRange, CurrentRegion, EntireRow로 범위 선택!

학습자. 2024. 11. 15.

엑셀 VBA를 활용하여 데이터를 효율적으로 처리하려면 다양한 범위 선택 방법을 이해하는 것이 중요합니다. 이번 글에서는 UsedRange, CurrentRegion, EntireRow 속성을 사용하여 범위를 선택하는 방법을 알아보겠습니다.

UsedRange

UsedRange는 현재 워크시트에서 실제로 사용되고 있는 셀 범위를 나타냅니다. 즉, 데이터가 입력된 가장 첫 번째 셀부터 마지막 셀까지의 영역을 자동으로 선택합니다.

 

범위

 

Sub SelectUsedRange()
  Dim rng As Range

  Set rng = ActiveSheet.UsedRange
  rng.Select

End Sub

 

위 코드를 실행하면 현재 시트에서 사용 중인 모든 셀이 선택됩니다.

 

 

CurrentRegion

CurrentRegion은 특정 셀을 기준으로 연속된 데이터 영역을 선택합니다. 데이터 사이에 빈 행이나 열이 있으면 그 부분까지만 선택됩니다.

 

CurrentRegion

 

Sub SelectCurrentRegion()
  Dim rng As Range

  Set rng = Range("B2").CurrentRegion
  rng.Select

End Sub

 

위 코드를 활용하면 B2 셀을 기준으로 연속된 데이터 영역을 선택할 수 있습니다.

 

EntireRow

EntireRow는 특정 셀이나 범위가 포함된 행 전체를 선택합니다. 이를 통해 해당 행 전체를 삭제하거나 서식을 변경하는 등의 작업을 수행할 수 있습니다.

 

EntireRow

 

Sub SelectEntireRow()
  Dim rng As Range

  Set rng = Range("B10").EntireRow
  rng.Select

End Sub

 

해당 코드를 사용하면 B10 셀이 위치한 10번째 행 전체를 선택합니다.

 

 

활용연습

위에서 소개한 속성들을 활용하여 데이터를 삭제하는 방법을 살펴보겠습니다. 기본 코드만 알고 있다면 크게 어려움 없이 따라오실 수 있는 내용입니다. 범위설정 방법은 위 내용을 참고하시기 바라며, 삭제를 위한 코드를 정리해 드리니 참고하여 아래 예제를 참고해 보시기 바랍니다.

구분 상세 내용
Clear 셀 내용 및 모든 서식 삭제
Clearcontents 셀 내용만 삭제
Clearformats 셀 서식만 삭제
Clearcomments 해당 셀에 입력된 메모 삭제

 

UsedRange를 사용한 데이터 삭제

UsedRange를 통해 범위를 잡는 vba코드는 위에서 이미 완료가 되었겠죠. 정해진 범위에 clear 방법을 적용하면 해당 내용을 삭제할 수 있습니다. 아래 코드를 통해 확인해 보시기 바랍니다.

 

예시

 

Sub DeleteUsedRange()
  Dim rng As Range

  Set rng = ActiveSheet.UsedRange
  rng.ClearContents
End Sub

 

해당 코드를 활용하여 현재 시트에서 사용 중인 모든 셀의 내용을 삭제할 수 있습니다.

 

CurrentRegion을 사용한 데이터 삭제

CurrentRegion를 통한 범위 설정 역시 위에서 진행해 보았습니다. 정해진 범위에 clear 방법을 적용하면 해당 내용을 삭제할 수 있습니다. 아래 코드를 통해 확인해 보시기 바랍니다.

Sub DeleteCurrentRegion()
  Dim rng As Range

  Set rng = Range("B2").CurrentRegion
  rng.ClearContents
End Sub

 

해당 코드를 통해 B2 셀을 기준으로 연속된 데이터 영역의 내용을 삭제할 수 있습니다.

 

 

EntireRow를 사용한 데이터 삭제

마지막으로 위에서 설정한 EntireRow로 설정한 범위를 통해 진행해 보도록 하겠습니다. 아래 코드를 통해 확인해 보시기 바랍니다.

Sub DeleteEntireRow()
  Dim rng As Range

  Set rng = Range("B10").EntireRow
  rng.Delete

End Sub

 

해당 코드를 통해 B10 셀이 위치한 10번째 행 전체를 삭제할 수 있습니다.

 

마무리

UsedRange, CurrentRegion, EntireRow 속성은 VBA에서 데이터를 효율적으로 처리하는 데 매우 유용합니다. 각 속성의 특징을 이해하고 상황에 맞게 활용하면 엑셀 작업을 더욱 효율적으로 수행할 수 있습니다. 꾸준히 연습해 보시고 업무에 효과적으로 활용해 보시기 바랍니다.

 

함께 보면 좋은 글

 

VBA 기초! SpecialCells사용하여 범위 선택하는 방법

엑셀을 사용하다 보면 자동화의 매력을 느끼고 VBA에 관심을 가지게 되신 분들이 많을 거예요. 오늘은 VBA에서 자주 사용하는 'SpecialCells' 기능에 대해 아주 쉽게 설명해 보려고 합니다. 이 글을 읽

njob-study.tistory.com

 

VBA 기초! Union과 Intersect를 사용하여 범위 선택하는 방법

엑셀 VBA는 엑셀 작업을 자동화하거나 복잡한 작업을 단순하게 만드는 데 매우 유용한 도구입니다. 본 포스팅은 VBA의 범위 선택 방법 중 Union과 Intersect를 이용하여 여러 범위를 선택하고 교차 지

njob-study.tistory.com

 

엑셀 VBA 기초! Cells, Offset, Resize로 범위 선택하는 방법

VBA(Visual Basic For Applications)는 엑셀에서 반복 작업을 자동화하거나 복잡한 계산을 수행할 때 매우 유용한 도구입니다. 특히, 셀이나 범위를 선택하고 조작하는 것은 VBA 프로그래밍의 핵심 중 하나

njob-study.tistory.com

반응형

댓글