지식은 공유되었을 때 그 힘을 발휘한다.



AutoCAD ActiveX 맛보기 강좌(4)

현재셀에 값넣기/직접실행창
오늘은 MACRO1()이란 매크로의 기능에 대해서 자세히 알아보도록 하겠습니다. 우선 기록된 매크로를 실행해보고 매크로 코드에 대해서 이야기 해보겠습니다. 기록된 매크로를 실행시키는 방법은 여러가지가 있지만 우선 아래와 같이 마우스를 B2셀에 위치시킨 후에 도구/매크로/매크로를 선택합니다.

그러면 현재 기록된 메크로들이 나오는데 우리는 한개만 기록되어있으니 Macro1을 선택합니다.



실행의 결과는 아래와 같이 B1셀에 123가 기록되고 A2가 선택된 상태로 됩니다. 여기서 이상하다고 생각할 수도 있을 것입니다.



우리는 분명 A1에 123를 기록하는 매크로를 작성했는데 어째서 B1에 123를 입력했을까요? 이부분에서 코드를 볼까요?

Sub Macro1()
'
' Macro1 Macro
' dolljong이(가) 2001-08-01에 기록한 매크로
'

'
    ActiveCell.FormulaR1C1 = "123"
    Range("A2").Select
End Sub

여기서 '로시작되는 줄은 comment로서 실행과 관련없이 설명을 다는 부분입니다. 123이라는 숫자가 보이는 첫번째 줄이 아마도 셀에다 "123"을 입력하는 코드라는 것은 눈치로서 대충을 알 수 있을 것입니다. 그렇다면 ActiveCell.FormulaR1C1란 무엇일까요? 잘 모르는 것이 나오면 우선 help를 찾아보도록 합니다. activecell란 글자에다 커서를 위치시키고 f1키를 눌러줍니다. 그러면 help가 뜨고 activecell에 대해서 아래와 같이 설명하고 있습니다.

"현재 창(맨 위에 있는 창)이나 지정된 창에서 현재 셀을 나타내는 Range 개체를 반환합니다. 창에 표시된 워크시트가 없으면 이 속성을 사용할 수 없습니다. 읽기 전용입니다." 여기서 중요한건 현재 셀을 타나낸다는 것입니다. 아.. 첫번째 줄은 현재셀에다 123을 입력하는 코드구나... 라는 걸 대충은 눈치채실 수 있을 것입니다.

아... 이제 activecell이 현재 셀이라는 걸 알았습니다. "백문이 불여일run"이라 일단 한번 타이핑을 해서 시험을 해볼까요? 아래 그림처럼 직접실행창에다 activecell = 123456라고 입력하고 엔터를 쳐봅시다. 직접실행창은 말 그대로 직접실행해주는 창입니다. 이 창에다 명령어를 입력하고 엔터를 치면 그 코드를 실행해줍니다. 프로그램할 때 중간중간에 확인하고 할 대 매우 유용한 기능입니다. activecell=123456이라고 입력했으면 excel로 가서 확이해볼까요? 기대했던 대로 A2셀에 123456이라고 입력되어있습니다. 물론 현재셀이 다른 셀이었다면 그 셀에 123456이 입력되었겠죠?

오늘 우리는 ActiveCell.FormulaR1C1 = "123" 이 현재의 셀에다 123을 입력해준다는 사실을 알았습니다. 그리고 직접식행창에다 코드를 입력해도 실행이 된다는 것을 알았습니다.

앗 점심시간이 끝났네요.. 내일은 그럼 이 코드의 나머지부분에 대해서 알아보도록 하겠습니다. 그럼 내일 점심시간에 또 뵙겠습니다.



dolljong@dreamwiz.com