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



AutoCAD ActiveX 맛보기 강좌(7)

Range개체를 이용해서 Cell에 값 넣기/읽기
엑셀 매크로를 만드는 이유는 대부분 어떤 셀에 값을 넣거나 읽기 위해서이겠죠? 예를 들어서 A1셀에 들어있는 값을 읽어서 곱하기 100을 해서 그 옆 B1셀에 넣는 매크로를 만든다면 어떨까요? 머 별로 쓸모는 없겠지만 간단하게 Range개체를 통해서 셀의 값을 읽고 쓰고하는 것을 연습해보기 위한 것입니다.

어떻게 만들면 될까요? 현재 셀에다 어떤 값을 넣는 것은 지난번 매크로에서 만들어보았는데, 특정셀에 넣는것은 아직 안해보았죠? 이 매크로는 기능만큼이나 간단하게 만들 수 있습니다. 일단은 읽어오기는 어떻게 하는 것일까요? 일단 개체라는 걸 생각해보아야 합니다. A1셀에 접근하기 위해서는 A1이 어디에 속해있는지 알아야겠죠. A1은 Range에 속해있습니다. Range는 쉬트전체가 될 수도 있고, 한개의 셀이 될 수도 있습니다.

일단 무작정시작해볼까요? 아래와 같이 직접실행창에다 입력해봅니다. 직접실행창은 VB editor상태에서 보기/직접실행창메뉴를 통해 보이게 할 수 있습니다.

  

?는 출력하라는 뜻입니다. 그리고 Range("A1")은 "A1"이란 범위의 값을 뜻합니다. 결국 range("A1")의 값을 출력하란 뜻입니다. 집접실행창에서 print명령을 사용하면 직접실행창에 결과를 뿌려줍니다. 실행결과는 아래와 같겠죠? 지금 "A1"셀에 123이란 값이 들어있기 때문이죠.



Range("a1")이 "a1"셀에 있는 내용을 뜻한다는 걸 알았습니다. 그럼 이번에는 아래아 같이 입력해봅니다.



Range("B1") = 345 란 Range("B1")에 345란 값을 넣으라는 뜻입니다. Excel로 가서 B1을 확인해보면 아래와 같이 345란 값이 들어가 있습니다.



그럼 이번에는 A1의 값을 읽어서 B1에 그대로 넣는 걸 해볼까요? 아래와 같이 그냥 한 줄로 쓰면 되겟죠?



엑셀로 가서 확인해보면 B1에 A1과 같은 값이 들어가 있을 것입니다. 이제 셀의 내용을 읽고 쓰는 방법을 알았으니 못만들 프로그램이 없겠지요? ^^

오늘은 여기서 마치기로 하고 내일 계속하도록 하겠습니다.



dolljong@dreamwiz.com