예전엔 엑셀을 사용했지만 생각보다 스프레드시트를 사용하는 일이 많아지고 있습니다.
전 군시절 행정반에 있었는데 항상 빠르게 일을 해야하다보니 매크로를 사용하는 일이 많았어요.
원래 일하면서 한번쯤은 맞고 그랬잖아요. 그쵸? ^_ㅠ
암튼.. 그렇게 매크로를 사용하다보니 이제 자주 사용하는 기능은 매크로를 써버릇했는데 언제부터인가 매크로가 이상한 해졌는데 바로
제가 선택 지정했던 셀만 적용 매크로 적용이 되는 상황이죠.
예를 들자면 제가 B2 칸을 노랑색으로 지정하는 걸 매크로 지정을 해놨는데 , C6을 선택하고 매크로를 실행하면 다시 B2에 실행이 되는거죠.. 예전엔 무조건 선택한 값에 지정이 됐거든요.
절대참조와 상대참조
암튼 다시 돌아와서 언제 부터인지 모르겠는데 스프레드시트를 사용하기 전부터 엑셀에는 절대참조와 상대참조라는 게 생겼어요.
1. 절대참조
최초선택했던 해당 좌표만을 적용시키는 것
2. 상대참조
제가 현재 선택한 좌표에 적용시키는 것
설정하는 방법은 별것 없어요.
매크로 설정방법
1. 매크로를 실행한다.
2. 내가 절대참조를 할지 상대참조를 할지 확인
3. 필요한 작업실행 후 저장누르기
4. 매크로 이름과 (선택) 단축키로 사용할 숫자 설정하기
저는 정말 자주사용한다면 숫자를 사용하는 걸 추천해요. 왼손으로 다누르려면 귀찮은데 우측 키패드를 사용하면 좋아용
매크로 수정방법
만약 내가 원하지 않는 방법으로 저장됐는데 그게 복잡한 작업이라 다시 하기 귀찮다면 수정을 할 수도 있어요.
1. 매크로 관리 선택
2. 원하는 매크로 - 스크립트수정
3. 코드수정하기
갑작스럽게 이상한게 나와서 놀랐죠? 뜯어보면 별게 아닙니다.
매크로를 만들면 갯수에 맞게 추가로 생성이 되는데요.
예제에 보여드린 색상을 바꾸는 과정을 코드로 보여준 거에요.
먼저 2번과 3번의 차이를 볼게요
중간에 getRange가 3번에만 있고
마지막줄에 spreadsheet.getActiveRangeList().setBackground ( 이 부분 )이 다르죠?
- getRange : 특정 셀의 위치에만 적용시킬 때 사용한다.
1번은 뭐냐면 2번처럼 특정셀의 위치를 적용했다가 제가 수정한거에요
// 가 앞에 있으면 그 부분은 주석처리되어 실행이 안되거든요. 테스트삼아 해본거에요.
응용하기
마무리
생각보다 스프레드 시트 매크로 만들기 재밌네요. 살짝?? 코딩하는 느낌을 비스므리하게 만들어요.
코딩을 배우고 싶으신분은 이걸로 시작하셔도될것같아요.
기본적으로 아래형태에 ". "을 사용하는 것처럼 미리 저장된 정보에 접근하는 방식을 많이 사용하거든요.
spreadsheet.getRange('D3').activate();
참고로 저도 첨에 엑셀, 스프레드 시트를 만지다가 현재 ios 개발자까지 왔어요 ㅎㅎㅎ