본문 바로가기
Excel/VBA 공부

얼렁뚱땅 엑셀 VBA] Range 개체

by excelnote2 2017. 5. 26.



Range 개체




셀 또는 범위 참조


Range 개체를 이용해서 셀 또는 범위를 선택하는 방법




1
2
3
4
5
6
7
8
9
10
11
12
13
14
Sub range_test()
 
Range("A1").Value = 1   ' .value 속성이 기본값
Cells(21= 2         'Cells(Row, Col), cells(1,1)
Cells(3"A"= 3
 
Range("A4:A6"= 4
Range("A7""A9"= 5      ' 쉼표로 분리해도 연속된 범위로 인식
 
Range("A10:A11, B1:B5"= 6 '떨어진 범위
  ' 만약 여기서 "A10:A11", "B1:B10" 로 각각 따옴표로 묶어주면
  ' 연속된 범위로 인식함
 
End Sub
cs









Range 개체의 주요 속성


Address - 주소 반환

Value - 값 반환 (또는 값 입력)

Formula - 수식 반환 (또는 수식 입력)

NumberFormat - 셀서식 반환(또는 설정)

Column - 열 번호 반환

Columns - 범위 내의 열 전체 반환

Row - 행 번호 반환

Rows - 범위 내의 행 전체 반환

CurrentRegion - 기준 위치의 연속된 데이터 전체(Ctrl + A)

End - 기준 위치에서 마지막 위치(Ctrl + 화살표)

EntireColumn - 셀이 속한 열 전체 반환

EntireRow - 셀이 속한 행 전체 반환




비슷한 이름 때문에 사용법이 헷갈릴 수 있는 Column, Columns, EntireColumn과 Row, Rows, EntireRow에 대해서만 정리해본다. 


(사용법은 동일하므로 여기서는 Row, Rows, EntireRow만)




Row는 현재 있는 셀 위치의 열 번호를 반환한다. 


Range("B6").Row 






Rows는 범위 내에서의 행 전체 반환


Range("A1:D10").Rows(4).select 






Range("A1:D10").Rows("3:6").Select 처럼 입력할 경우 3~6행 선택







만약 인수 없이 Rows만 사용할 경우 Range범위 전체가 선택된다. 


Range("A1:D10").Rows.Select






EntireRow는 지정 행 전체 반환 (워크시트에서 Shift + 스페이스와 동일)



Range("A6").EntireRow.Select








End 속성


엑셀 워크시트에서 Ctrl+화살표로 해당 화살표 방향의 데이터가 연속 입력된 부분의 끝으로 이동


화살표에 해당하는 것은 매개변수로 지정.



Range.End(방향)



방향 매개변수 - xlUP, xlDown, xlToLeft, xlToRight



Range("A1", Range("D1048576").End(xlUp)).Select





댓글