본문 바로가기

100_Apps/VBA, Excel, Google spreadsheet

📌104 Excel VBA 📌 《CurrentRegion 속성》을 이용하여 《연속된》 《동적 범위》 참조하기

《바로 읽으나 거꾸로 읽으나 똑같은 우리말》을 《회문,回文,Palindrome》 이라고 합니다.
드라마 《이상한 변호사, 우영우》에서 주인공 변호사가 자기 소개를 하는 대사에 있습니다

기러기, 토마토, 스위스, 별똥별, 인도인, 우영우, 역삼역

우영우 자기소개.mp4
3.86MB

 《회문》의 예제는 경기도 홈페이지에 있습니다
(출처: https://www.gg.go.kr/archives/1506269)

예제 파일에서 전체 범위를 선택하려면 다음 두 가지 코드를 사용할 수 있습니다

예제 파일:

104 연속된 동적 범위참조하기-CurrentRegion 속성을 이용.xlsm
0.02MB

 

Range("A1:C25").Select
Range("A1").CurrentRegion.Select

위의 코드를 실행하면 다음과 같이 전체 범위가 선택됩니다
즉, 기준 셀 A1은 전체 범위를 인식하게 하는 시작 위치 입니다.

따라서 기준 셀 A1셀 위쪽이나 아래에 행을 새로 삽입할 경우 전체 범위를 정상적으로 인식할 수 없다는 문제가 있습니다

다음과 같이 2행, 3행을 삽입을 하는 경우 전체 범위를 정상적으로 인식할 수 없습니다. 위의 코드는  A1셀을 기준 셀로 하기 때문입니다

 

이렇 듯 전체 범위를 인식할 수 있습니다. 따라서 특정 행 (또는 열)도 빠르게 인식할 수 있습니다

(결과 화면)

(결과 화면)

 

(코드 예제) 다음과 같이 주간 날씨가 기록된 표가 있습니다. 연속된 동적 범위를 참조하되, 전체 범위 중에서 일요일이 포함된 특정 행을 선택하는 코드를 작성해 보겠습니다

(결과 화면)

(VBA 코드)

Sub 마지막_행참조()
Dim rngWeeklyWeather As Range
Dim rngSundayWeather As Range
Dim rngStart As Range

Set rngStart = Range("E2")
Set rngWeeklyWeather = rngStart.CurrentRegion
Set rngSundayWeather = rngWeeklyWeather.Rows(rngWeeklyWeather.Rows.Count)

rngSundayWeather.Select
End Sub

 

 

반응형