본문 바로가기

엑셀로 풀어가는 세상

엑셀 VBA #06 / 셀 범위 선택하기_1 [VBA]

엑셀 VBA #06 / 셀 범위 선택하기_1 [VBA]

1. 기본
Range("A1:D10").Select    또는
Range("A1",Cells(Rows.Count,"D").End(xlup)).Select

VBA 셀 범위 선택


2. 응용
D열의 마지막 셀의 값이 없을 때, 위 1의 방법을 적용하면 아래 그림처럼 나온다.

즉 10행의 데이타가 누락된 셀 범위가 설정된다.

 

이를 해결할 수 있는 방법은 아래 코드를 활용하는 것이다.

2.1) Offset 적용

Range("A1",Cells(Rows.Count,"C").End(xlup).Offset(,1)).Select


2.2)  A열의 행 수를 활용
Dim c As Long
c=Range("A1").End(xlDown).Row
Range("A1:D"&c).Select

2.3) CurrentRegion 적용

Range("A1").CurrentRegion.Select

2.4) UsedRange 적용

worksheets(1).UsedRange.Select

주의할 것은 UsedRange적용시 worksheets가 반드시 들어가야 한다!!!!!!

그리고 장점은 비연속적 데이타 테이블에도 사용할 수 있다는 것이다(아래 그림 참고).

 

cf, Worksheets(1) vs Sheets(1)의 차이점

Sheets가 더 큰 개념.
Worksheets는 일반적인 데이터가 입력되어 있는 시트를 의미!
Sheets는 일반적 시트에 차트 시트(차트가 시트 전체에 full로 그려진 시트)와 같이 특별한 시트까지 포함

 

 

3. 핵심정리

  3.1. 연속범위_1
      Range("A1").CurrentRegion

  3.2. 연속범위_2
      Range("A1",Cells(Rows.Count,"D").End(xlup))
      Range("A1",Cells(Rows.Count,"C").End(xlup).Offset(,1))

 

 

vba#06.xlsm
0.02MB

 

 

 

https://www.youtube.com/watch?v=qEDUKVAid-Y&t=355s

반응형