배움터  
  HOME > 배움터 > 무료강좌
무료강좌
 
엑셀 2000, 황기성님의 엑셀VBA 1일, Excel 2000
excelvbalogo.gif (3602 bytes)


엑셀VBA를 배우는 길잡이-매크로 기록기

엑셀 VBA를 위한 길잡이 매크로 기록기와 친숙해 지세요^^*

매크로 기록기를 이용하여 VBA시작하기
매크로 기록을 위한 네 단계
매크로 시작 조건 설정하기
매크로 기록 시작하기와 정의하기
매크로로 작업할 동작을 수행하기
매크로 기록 중지하기
기록한 매크로 살펴보기
기록한 매크로 실행하기

1. 매크로 기록기를 이용하여 VBA 시작하기

흔히 매크로와 VBA는 같은 것으로 오해됩니다(저도 사실 이 두 용어를 섞어 사용할 때가 많습니다만). 하지만, 엄밀히 말한다면 그 둘은 다른 것이라 할 수 있습니다. 매크로란 일련의 반복되는 작업을 일괄로 처리하는 것을 말합니다. 이에 반해서 VBA란 일종의 프로그래밍 언어입니다. 매크로가 일정하게 주어진 작업만을 반복할 수 있는 데에 비해(하지만, 매크로 장점은 무엇보다도, 주어진 임무를 아주 빠르게 수행한다는 데에 있습니다) VBA는 조건 판단이나 순환 작업 등의 유연성을 갖습니다.
VBA란 말이 VisualBasicForApplication의 약자라는 데에서 알 수 있듯이, VBA는 엑셀이나 엑세스, 워드, 파워포인트, 아웃룩 등의 호스트 응용프로그램을 위한 비주얼베이직 언어입니다. 여러분에게 지금 엑셀이나 워드 등과 같은 MS오피스 프로그램이 있다면, 여러분은 지금 곧 VBA라는 언어도 함께 사용하실 수 있습니다. 독립형 언어인 VB나, 인터넷을 위한 스크립트 언어인 VBS와 견주어 다른 점도 있지만, 이 셋이 한 가족이란 점에서 VBA를 익혀 두시면, VB나 VBS도 빠르게 익히실 수 있습니다.
엑셀이 제공하는 매크로 기록 기능은 바로 이 VBA를 빠르게 배울 수 있게 하는 좋은 길잡이입니다. 오늘은 바로 이 매크로 기록기를 이용하여 VBA를 빠르게 배우는 첫걸음을 내딛게 되는 것입니다.

2. 매크로 기록을 위한 네 단계

① 매크로 시작 조건 설정하기 : 매크로 기록기는 대부분 사용자가 기록하기를 원하는 것(을 물론, 기록하지 못할 때도 있습니다만) 이상을 기록하여 줍니다. 따라서, 불필요한 내용까지를 포함하여 매크로 기록이 되지 않도록, 매크로를 작동할 때의 조건과 동일한 시작 조건을 설정해 주는 일이 우선 중요합니다

② 매크로 기록 시작하기와 정의하기 : 매크로에 사용자가 알아보기 쉬운 이름을 붙여주고, 매크로를 저장할 위치를 결정해 주는 일입니다.

③ 매크로로 작업할 동작을 수행하기 : 실제로 반복해 수행하고자 하는 내용을 기록하는 일입니다. 이것을 물론 사용자가 하고자 하는 내용에 따라 늘 달라지게 마련입니다.

④ 매크로 기록 중지하기 : 모든 작업을 마친 뒤에는 매크로 기록을 중지해야 합니다.

이렇게 네 단계를 거쳐 기록된 매크로는 그 즉시 사용이 가능합니다^^*

오늘은 이 네 단계를 거쳐 기록한 매크로를 실행하는 것까지를 실습해 보도록 하겠습니다.

3. 매크로 시작조건 설정하기

앞서 말씀 드렸듯이, 매크로 기록기는 기록을 시작한 뒤의 시시콜콜한 내용 모두를 기록합니다. 따라서, 사용자가 매크로 기록기를 이용해 작업할 때에는, 미리 매크로 시작 조건을 설정해 두고 기록하는 것이 좋습니다. 다음의 두 예제를 비교해 보겠습니다.

Macro1이란 매크로는 "A1"이라는 이름의 셀 범위(Range)를 선택한 뒤(Select), 선택한 범위(Selection)의 글꼴(Font)의 굵게한 것(Bold=True)을 기록한 예입니다.

 

Sub Macro1()
'
' Macro1 Macro
' 황기성이(가) 2000-04-18에 기록한 매크로
'

'

     Range("A1").Select
     Selection.Font.Bold = True
End Sub

Macro2이란 매크로는, 선택한 범위(Selection)의 글꼴(Font)의 굵게한 것(Bold=True)을 기록한 예입니다.

 

Sub Macro2()
'
' Macro2 Macro
' 황기성이(가) 2000-04-18에 기록한 매크로
'

'

     Selection.Font.Bold = True
End Sub

Macro1을 실행하면, 항상 A1셀을 선택하고, 그 셀의 글자를 굵게 만들 것입니다.  Macro2를 실행하면, 선택되어 있는 범위의 모든 글자의 글꼴을 굵게 만들 것입니다. Macro1은 Macro2에 비해 한 줄 더 많이 기록되어 있습니다만, 그 때문에 A1셀의 글꼴의 굵기만을 변경할 수 있을 뿐이며, 이에 비해 Macro2는 선택 영역의 모든 글꼴의 굵기를 변경할 수 있게 됩니다. 만약, 사용자가 A1셀이라는 특정한 셀에만 이 매크로를 수행해야겠다고 한다면 Macro1과 같은 방법으로, 그렇지 않다면 Macro2와 같은 방법으로 매크로를 기록할 수 있도록 시작해야 합니다.

4. 매크로기록 시작하기와 정의하기

엑셀을 기동한 뒤, 새 통합문서를 여십시오. Sheet1워크시트를 선택하십시오. 그런뒤,

도구 ☞ 매크로 ☞ 새 매크로 기록을 선택하십시오.

vba_da1_1.gif(35427바이트)

강좌에 포함된 모든 그림은 클릭하시면 확대해서 보실 수 있습니다.

아래에 보이는 것과 같은 매크로 기록 창이 나타나면

매크로 이름을 정하십시오 : 기본적으로 Macro1과 같은 이름이 주어집니다만, 사용자가 알기 쉬운 이름을 직접 입력하십시오. 여기에서는 글꼴바꾸기라는 이름을 붙여주겠습니다(매크로 이름에는 공백을 포함할 수 없다는 등의 이름작성 규칙이 있습니다만, 여기서는 설명하지 않겠습니다. 잘못된 이름으로 매크로를 작성하면, VBA는 그 즉시 사용자에게 잘못을 알리고 고칠 것을 요구합니다^^*)

바로가는키를 정하십시오 : 바로가는키는 매크로를 실행하기 위해 사용자가 지정하는 단축키가 됩니다. 엑셀이 가지고 있는 많은 단축키와 중복되지 않는 범위 내에서 바로 가는 키를 설정하십시오(영문자만 지원되면, 대문자를 입력하면, Shift키와 함께 입력하여야 합니다) 엑셀에 내장된 단축메뉴보다 사용자가 지정한 바로가는키가 우선해서 실행됩니다. 여기서는 생략하도록 하겠습니다.

매크로 저장 위치를 지정하십시오 :  매크로는 현재 활성화된 통합문서, 새 통합 문서, 개인용 매크로 통합 문서라는 곳에 각기 저장할 수 있습니다. 여기서는, 현재 통합문서라는 곳에 매크로를 저장하도록 합니다

설명 : 말 그대로 사용자가 기록할 매크로에 대해 간략하게 주석을 달아 나중에 그 매크로 작업을 설명하기 위한 것입니다. 생략하면, 기본적으로 사용자의 이름과 날짜가 기록됩니다. 여기에서는 글꼴의 색상을 파랑으로 크기를 20포인트로 변경한다고 기록하십시오.

이제, 확인을 누르면, 매크로 기록기가 작동하게 됩니다.

 

☞ 참고하기 - 개인용 매크로 통합문서

개인용 매크로 통합문서는 personal.xls라고 하는 특수한 엑셀 통합문서를 가리킵니다. 엑셀은 기동할 때, xlstart라고 하는 특수한 폴더에 있는 모든 문서를 한꺼번에 엽니다. 개인용 매크로 통합문서는 이 xlstart폴더에 위치해 있다가, 사용자가 엑셀을 열면 자동으로 함께 열리게 됩니다.(통합문서의 속성이 숨기기로 되어 있으므로 사용자의 눈에는 보이지 않습니다) 매크로를 이 personal.xls에 저장하게 되면, 엑셀이 기동될 때마다 이 파일이 열리게 되므로 손쉽게 여러 문서에서 매크로를 이용할 수 있게됩니다. 하지만, 요즘 극성인 매크로 바이러스는 이 personal.xls라는 문서를 숙주로 기생하므로, 주의 깊게 파일을 관리하셔야 합니다.

5. 매크로로 작업할 동작을 수행하기

매크로 기록기가 작동하면 아래 그림과 같은 매크로 기록중지 단추가 나타나고(사용자가 정한 도구메뉴의 상태에 따라 나타나지 않을 수도 있습니다), 상태 표시줄에는 기록중이라는 알림이 나타나게 됩니다. 이 상태에서 아래와 같은 작업을 수행해 보겠습니다.

① 서식 ☞ 셀...서식을 선택합니다
② 글꼴 탭을 누릅니다
③ 크기(S)를 20으로
④ 색(C)을 파랑으로 변경하고
⑤ 확인 단추를 누릅니다

 

☞ 참고하기

매크로 중지매크로 기록 중지 단추에는 두 개의 아이콘이 있습니다. 왼편의 것은 기록을 중지할 때 사용하는 기록중지 아이콘이며, 오른편은 매크로를 상대참조로 기록하고자 할 때 사용합니다(기본적으로 엑셀은 절대참조로 매크로를 기록합니다)

6. 매크로 기록 중지하기

매크로 기록을 마치려면, 매크로 기록중지 단추의 ■ 아이콘을 누르거나,
매크로 ☞ 도구 ☞ 기록중지를 선택합니다

7. 기록한 매크로 살펴보기

자, 매크로 작성을 마쳤다면, 어떻게 매크로가 기록되었는가를 확인하셔야겠지요? 기록한 매크로를 살펴보시려면

도구 ☞ 매크로 ☞ Visual Basic Editor를 차례로 선택하시거나, Alt + F11키를 누르십시오.

아래 화면과 같이 여러분이 기록한 매크로의 소스를 보여주게 됩니다. 아마도 여러분이 기록한 매크로 소스는 아래와 비슷한 것이 될 것입니다.

vb0001_4.gif(18679바이트)

 

Sub 글꼴변경()
'
' 글꼴변경 Macro
' 글꼴의 색상을 파랑으로 크기를 20포인트로 변경한다
'

'

     With Selection.Font
        .Name = "돋움"
        .FontStyle = "보통"
       .Size = 20
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
       .ColorIndex = 5
     End With
End Sub
 

앞서 말씀 드렸듯이, 매크로 기록기는 시시하고 콜콜한 것까지 기록합니다. 우리가 기록하고자 했던 것은

Selection.Font.Size = 20
선택한 영역의 글꼴의 크기를 20으로 변경하고
Selection.Font.ColorIndex = 5
선택한 영역의 글꼴의 색을 파랑색(엑셀에서는 56개의 내부 색상번호로 색상을 관리합니다. 5는 파란색에 할당된 색번호입니다)으로 변경하려는 것인데, False라는 속성이 지정된 나머지 속성들까지도 불필요하게 기록된 것입니다.(빨간색 부분만이 사용자가 기록하고자 했던 내용입니다)

8. 기록한 매크로 실행하기

자 이제 여러분이 기록한 첫번째 매크로인 글꼴변경이란 매크로를 실행해 보겠습니다. 혹 여러분이 아직도 Visual Basic Editor 창에 위치해 있다면, VBE에서
파일 ☞ 닫고 MicroSoft Excel으(로) 돌아가기를 선택하여 엑셀로 되돌아 오십시오.

먼저, 워크시트에서 적당한 크기의 영역을 선택하십시오.

도구 ☞ 매크로 ☞ 매크로를 차례로 선택하시면 바로 아래 화면과 같은 매크로 실행 대화상자가 나타납니다.

글꼴변경이란 이름의 매크로를 목록상자에 선택하고 실행단추를 누르면, 선택한 영역의 글꼴이 모두 20포인트로, 글꼴의 색이 파란색으로 변경될 것입니다

목차 | 다음