엑셀 Excel 상대 참조와 절대 참조로 구분해서 저장하는 방법

엑셀(Excel)/Excel

엑셀 Excel 상대 참조와 절대 참조로 구분해서 저장하는 방법

 

환경: Microsoft Excel 2013

 

엑셀 수식에서 셀을 참조하는 방식은 절대 참조와 상대 참조가 있습니다. 예를 들어  상대 참조는 A1 이지만 절대 참조는 $A$1 으로 특수 문자 “$” 를 주소 앞에 같이 표시합니다. 매크로에도 상대 참조와 절대 참조 방식이 있는데, 방식이 약간 틀립니다. 절대 참조 방식은 Range(A1).select 로 바로 셀을 참조합니다. 반면에 상대 참조는 Offset 함수로 기준점이 되는 셀에서 몇 칸씩 떨어져 있는지 지정합니다.

 

먼저 기본 방식인 절대 참조로 매크로를 기록해 보겠습니다. 개발 도구 탭으로 가서 매크로 기록을 클릭합니다. 그리고 팝업창에서 매크로 이름에 매크로_절대참조를 입력합니다.

엑셀 Excel 상대 참조와 절대 참조로 구분해서 저장하는 방법

 

매크로 기록을 시작하고 간단하게 1, 2, 3, 4, 5, 6 을 입력합니다. 그리고 기록 중지 리본 메뉴를 클릭합니다

엑셀 Excel 상대 참조와 절대 참조로 구분해서 저장하는 방법

 

매크로 목록창을 띄워서 저장된 매크로명을 선택하고 오른쪽에 편집 버튼을 누르면 기록된 내용을 확인할 수 있습니다

엑셀 Excel 상대 참조와 절대 참조로 구분해서 저장하는 방법

 


편집창에서 기록된 내용은 다음과 같습니다. Range(“A2”).Select 처럼 절대 참조로 작성이 되었습니다

엑셀 Excel 상대 참조와 절대 참조로 구분해서 저장하는 방법

 

다음은 상대 참조 방식으로 매크로를 기록해 보겠습니다. 방법은 간단합니다. [상대 참조로 기록]을 누른 상태에서 매크로 기록을 시작하는 것입니다

엑셀 Excel 상대 참조와 절대 참조로 구분해서 저장하는 방법

 

[상대참조로 기록] 이 클릭된 상태에서 매크로 기록을 시작하고 숫자를 입력한 후 중지합니다. 매크로 리본을 클릭하고 대화상자가 뜨면 편집으로 들어갑니다.

엑셀 Excel 상대 참조와 절대 참조로 구분해서 저장하는 방법

 

결과 코드를 보시면 절대 참조와 상대 참조가 다른 것을 알수 있습니다. 상대 참조는 Range 를 쓰지만 Offset 함수로 상대적인 위치를 표시합니다. 바로 위 Select 코드에서 선택한 셀을 기준으로 ActiveCell.Offset(0, 1) 을 이용해 우측으로 1칸 이동합니다

엑셀 Excel 상대 참조와 절대 참조로 구분해서 저장하는 방법

Posted by 녹두장군