범위의 크기 및 병합여부를 확인하는 명령문 :: MeasureRange 함수

구문

MeasureRange ( 범위 )

설명

엑셀 MeasureRange 함수는 선택한 범위의 넓이와 높이, 그리고 병합여부를 반환하는 명령문입니다. 범위와 높이는 엑셀의 기본 단위인 pt (포인트)로 계산됩니다. pt로 반환된 값은 VBA 내장함수인 CentimetersToPoints 또는 InchesToPoints 를 사용하여 cm(센치미터) 또는 inch(인치)로 변환할 수 있습니다.

MeasureRange는 {넓이, 높이, 병합여부}로 배열을 반환합니다. 사용예제는 아래와 같습니다.

= MeasureRange("A1")(0)   '// A1의 넓이를 반환합니다.
= MeasureRange("A1")(2)   '// A1셀의 병합여부를 반환합니다.
= MeasureRange("A1")(0) / Application.CentimetersToPoints(1)    '// A1셀의 넓이를 cm로 반환합니다.
= MeasureRange("A1)(1) / Application.InchesToPoints(1)     '// A1셀의 높이를 inch로 반환합니다.
패치노트
  • FirctCellOnly 인수를 추가합니다.
    FirstCellOnly (as Boolean) : True 일 경우 범위의 첫번째 셀의 크기만 계산합니다.
예제파일 다운로드

공식설명파일구분마지막수정일파일형식파일다운로드
34663[VBA예제] Multi_AutoFilter :: 엑셀 다중필터추가기능2020-01-22XLAM엑셀 VBA 명령문(UDF) 예제파일다운로드
34310[VBA예제] CreateTOC :: 목차 만들기 자동화예제파일2020-01-22XLSM엑셀 VBA 명령문(UDF) 예제파일다운로드
34307[VBA예제] CreateTOC :: 목차 만들기 자동화추가기능2020-01-22XLAM엑셀 VBA 명령문(UDF) 예제파일다운로드
34233[엑셀VBA함수] ImageLookup :: 실시간 이미지 불러오기 함수추가기능2020-01-07XLAM엑셀 UDF 시트함수 파일다운로드
34230[엑셀VBA함수] ImageLookup :: 실시간 이미지 불러오기 함수예제파일2020-01-07XLSM엑셀 UDF 시트함수 파일다운로드
34155[VBA예제] SortArray 명령문예제파일2020-01-05XLSM엑셀 VBA 명령문(UDF) 예제파일다운로드
33847[VBA예제] MeasureRange 명령문예제파일2020-01-05XLSM엑셀 VBA 명령문(UDF) 예제파일다운로드
33694[VBA예제] cvRng 명령문예제파일2019-12-15XLSM엑셀 VBA 명령문(UDF) 예제파일다운로드
33682[VBA예제] vbFileSearch 명령문예제파일2019-12-15XLSM엑셀 VBA 명령문(UDF) 예제파일다운로드
33659[VBA예제] ListFiles 명령문예제파일2019-12-15XLSM엑셀 VBA 명령문(UDF) 예제파일다운로드
33643[VBA예제] IsInArray 명령문예제파일2019-12-15XLSM엑셀 VBA 명령문(UDF) 예제파일다운로드
33620[VBA예제] SplitFileExt 명령문예제파일2019-12-15XLSM엑셀 VBA 명령문(UDF) 예제파일다운로드
33596[VBA예제] ArrayDimensnion 명령문예제파일2019-12-15XLSM엑셀 VBA 명령문(UDF) 예제파일다운로드
33027[VBA예제] Send_Email 메일 보내기 명령문예제파일2019-12-09XLSM엑셀 VBA 명령문(UDF) 예제파일다운로드
33009[VBA예제] 줄바꿈 문제 해결 (엑셀 팁)예제파일2019-11-24XLSM엑셀 VBA 명령문(UDF) 예제파일다운로드
32057[VBA예제] Page_Setup :: 인쇄 페이지 레이아웃 설정예제파일2019-12-10XLSM엑셀 VBA 명령문(UDF) 예제파일다운로드
32029[엑셀VBA함수] DecodeURL :: URL 주소 한글/영문값으로 디코딩 반환예제파일2019-11-21XLSM엑셀 UDF 시트함수 파일다운로드
32009[엑셀VBA함수] EncodeURL :: 한글/영문 URL 주소 인코딩 변환예제파일2019-11-21XLSM엑셀 UDF 시트함수 파일다운로드
31425[VBA예제] ValidFileName :: 파일이름 사용가능여부 확인예제파일2019-12-10XLSM엑셀 VBA 명령문(UDF) 예제파일다운로드
31397[VBA예제] FileSequence :: 파일이름 순번으로 저장하기예제파일2019-12-10XLSM엑셀 VBA 명령문(UDF) 예제파일다운로드
31378[엑셀VBA함수] GetDesktopPath :: 사용자 바탕화면 경로 반환예제파일2019-12-10XLSM엑셀 UDF 시트함수 파일다운로드
31360[VBA예제] FileExists :: 선택경로 파일존재여부 확인예제파일2019-12-15XLSM엑셀 VBA 명령문(UDF) 예제파일다운로드
30522[VBA예제] isListBoxSelected :: 리스트박스 값선택여부 확인예제파일2019-12-10ZIP엑셀 VBA 명령문(UDF) 예제파일다운로드
MeasureRange 명령문 전체 코드

MeasureRange 함수 상세설명

사용예제

명령문 동작원리

MeasureRange 함수는 범위의 Offset 속성을 이용한 명령문입니다. 2칸 x 2칸으로 병합된 범위를 예제로 알아보겠습니다.

  • 병합된 범위의 기준셀인 'A1'에서 .Cells 속성을 사용해 우측으로 1칸 이동시 'B1'셀로 이동합니다.
  • 반면 병합된 범위의 기준셀인 'A1'에서 .Offset 속성을 사용해 우측으로 1칸 이동시 병합된 셀을 건너뛴 'C1'셀로 이동합니다.
병합된 셀 넓이 높이 계산

.Offset 속성은 병합된 셀만큼 건너뛰어 이동합니다.

즉, Offset 속성을 사용해 우측 또는 아래로 이동한 셀과 이동하기 전 기준셀의 차이를 확인한 뒤, 병합된 셀의 넓이/높이를 계산합니다. 반면, 셀의 .MergeCells 속성을 사용하면 선택된 셀의 병합여부를 확인할 수 있습니다.

  1. 선택된 셀을 기준으로 변수를 생성합니다.
    WS : 선택된 셀의 대상 워크시트입니다.
    iCol/iRow : 선택된 셀의 행/열번호입니다.
    iCols/iRows : 선택된 셀의 행/열 개수입니다.

  2. 선택된 셀의 행/열번호를 기준으로 .Cells 속성을 사용해 한칸씩 이동하며 넓이와 높이를 계산합니다. 만약 셀이 병합되지 않은 셀이라면 For문은 1번만 반복할 것이고, 셀이 병합되어 있다면 병합된 셀의 가로/세로 개수만큼 For문을 반복합니다.
  3. MeasureRange 명령문의 결과값을 반환합니다.
    = MeasureRange(0) : 선택된 셀의 넓이를 pt로 반환합니다.
    = MeasureRange(1) : 선택된 셀의 높이를 pt로 반환합니다.
    = MeasureRange(2) : 선택된 셀의 병합여부를 Boolean 값으로 반환합니다.

별점주기 (5 / 1)

2
댓글 남기기

avatar
1 Comment Thereads
1 Thread replies
2 팔로워
 
가장 좋아요가 많은 댓글
가장 인기많은 댓글
2 작성자
오빠두엑셀 권영원 최근 작성자
  현재 페이지 댓글알림 신청  
알림 설정
권영원
손님
권영원
별점주기 :
     

감사합니다. ㅎ 바로 해결해주셨네요 ㅎㅎ