본문 바로가기
엑셀 파보자

엑셀 VBA 편집기(VBE) 사용법 익히기 (BreakPoint 설정 및 Watch 창 활용)

by 파보자 2025. 4. 4.
반응형

VBA 코드가 작동은 하는데, 뭔가... 내 마음 같지 않고... 원하는 대로 안 될 때 있으시죠? 그럴 땐 냅다 코드를 갈아엎기보단, 차분히 한 줄 한 줄 살펴보는 디버깅의 세계로 들어가 보시는 건 어떠세요? "엑셀 VBA 편집기(VBE) 사용법 익히기"를 통해 여러분의 답답했던 VBA 코드 디버깅 여정에 시원한 청량감을 선사해 드리겠습니다! 특히 BreakPoint 설정 Watch 창 활용 은 마치 코드 속을 훤히 들여다보는 마법의 돋보기 같죠. 마법사처럼 여러분의 VBA 코드를 완벽하게 제어하고 싶으신가요? 그렇다면 지금 바로 시작해 보세요! 후회는 없으실 겁니다. (아마도요... 😉)

 

 

VBE 편집기 창 구성 살펴보기

드디어~! VBA의 세계로 입문하셨군요?! 축하드립니다! ^^ 이제 여러분은 엑셀의 숨겨진 능력을 깨우치는 마법사가 될 준비를 마치셨습니다! 그 마법의 시작점, 바로 VBA 편집기(Visual Basic Editor, VBE)입니다. 자, 이 신비로운 VBE 편집기 창이 어떻게 구성되어 있는지 한번 샅샅이 파헤쳐 볼까요? 마치 탐험가처럼 말이죠! 🕵️‍♀️

먼저 VBE 편집기를 실행하는 방법은 간단합니다! Alt + F11 키 만 꾹~ 눌러주시면 됩니다! 마법처럼 새로운 창이 나타날 거예요! ✨ 자, 이제 여러분의 눈앞에 펼쳐진 이 창이 바로 VBA의 심장부, VBE 편집기입니다!

VBE 편집기 창은 크게 메뉴 바, 툴바, 프로젝트 탐색기, 속성 창, 코드 창, 그리고 직접 실행 창으로 구성되어 있습니다. 각각의 역할을 하나씩 살펴보면서 VBA 마법의 비밀을 풀어나가 봅시다!

1. 메뉴 바

워드나 엑셀처럼 VBE 편집기 상단에도 메뉴 바가 있습니다. 파일, 편집, 보기, 삽입, 형식, 디버그, 실행, 도구, 추가 기능, 창, 도움말… 휴! 정말 많죠?! 😂 하지만 걱정 마세요! 모든 메뉴를 다 알 필요는 없답니다. 자주 사용하는 몇 가지만 기억하면 충분해요! 예를 들어, '삽입' 메뉴에서는 모듈, 사용자 정의 폼, 클래스 모듈 등 VBA 코드를 작성할 공간을 만들 수 있답니다.

2. 툴바

메뉴 바 아래 위치한 툴바는 자주 사용하는 기능들을 아이콘 형태로 제공합니다. 마우스 클릭 한 번으로 원하는 작업을 빠르게 수행할 수 있도록 도와주는 고마운 친구죠! 😊 '실행' 버튼, '중단' 버튼, '디버깅' 버튼 등 VBA 코드를 실행하고 제어하는 데 필요한 필수 버튼들이 모여 있습니다. 마치 조종석의 버튼들처럼 말이죠! 🕹️

3. 프로젝트 탐색기

좌측 상단에 위치한 프로젝트 탐색기는 현재 열려 있는 모든 VBA 프로젝트와 해당 프로젝트에 포함된 항목들을 트리 형태로 보여줍니다. 마치 탐험 지도처럼 VBA 프로젝트의 전체 구조를 한눈에 파악할 수 있게 해주는 중요한 역할을 합니다. 🗺️ 이곳에서 원하는 모듈이나 폼을 더블 클릭하면 코드 창에서 해당 항목의 코드를 확인하고 편집할 수 있습니다.

4. 속성 창

프로젝트 탐색기 아래에 위치한 속성 창에서는 선택한 개체의 속성을 확인하고 변경할 수 있습니다. 예를 들어, 폼의 크기, 색상, 캡션 등을 원하는 대로 설정할 수 있죠. 마치 화가가 팔레트에서 색을 고르듯이 말이죠! 🎨 속성 창을 잘 활용하면 VBA 프로그램의 디자인과 기능을 세밀하게 조정할 수 있습니다.

5. 코드 창

VBE 편집기의 중앙에 위치한 코드 창은 VBA 코드를 작성하고 편집하는 공간입니다. 마치 작가의 원고지처럼, 여러분의 VBA 마법 주문을 적어 넣는 곳이죠! 📜 코드 창에서는 코드 자동 완성, 구문 강조, 들여쓰기 등 다양한 기능을 활용하여 편리하게 코드를 작성할 수 있습니다. 코드 창 상단에는 개체와 프로시저를 선택할 수 있는 드롭다운 목록이 있어 원하는 코드를 빠르게 찾아갈 수 있습니다. 마치 도서관의 검색 시스템처럼 말이죠! 📚

6. 직접 실행 창

하단에 위치한 직접 실행 창은 VBA 코드를 직접 실행하고 결과를 확인할 수 있는 공간입니다. 간단한 코드를 테스트하거나 변수 값을 확인할 때 유용하게 사용할 수 있습니다. 마치 계산기처럼 말이죠! 🧮 Debug.Print 문을 사용하면 직접 실행 창에 원하는 값을 출력할 수 있습니다.

휴~! VBE 편집기 창 구성, 이제 완벽하게 이해되셨나요? 😊 각각의 창들이 마치 오케스트라의 악기들처럼 조화롭게 작동하여 VBA 마법을 연주한답니다. 🎶 이제 여러분은 VBE 편집기라는 강력한 도구를 손에 넣으셨습니다! 다음 단계에서는 본격적으로 VBA 코드를 작성하고 디버깅하는 방법을 알아보겠습니다. 두근두근! 더욱 신나는 VBA 여정이 기다리고 있습니다! ✨

 

BreakPoint 설정 및 해제 방법

드디어~ VBA 코드 디버깅의 꽃! BreakPoint 설정 및 해제 방법에 대해 알아볼 시간이에요! 코드가 복잡해질수록 눈으로만 에러를 찾는 건 마치 사막에서 바늘 찾기와 같죠? ? 하지만 BreakPoint를 이용하면 마치 Sherlock Holmes처럼 코드의 흐름을 한 단계씩 쫓아가며 문제의 원인을 콕! 집어낼 수 있답니다. 자, 그럼 BreakPoint의 세계로 풍덩 빠져볼까요~?!

Breakpoint는 VBA 코드 실행을 특정 지점에서 일시 정지시키는 마법 같은 기능이에요! 마치 영화를 보다가 '잠깐 멈춰!' 하는 것과 같죠. 이렇게 멈춘 상태에서 변수의 값, 코드의 흐름 등을 꼼꼼히 살펴볼 수 있어 디버깅에 필수적 이랍니다. 생각만 해도 짜릿하지 않나요?!

Breakpoint 설정 방법

자, 그럼 BreakPoint 설정하는 방법을 알려드릴게요! 정말 간단하니까 걱정 마세요~ ^^

1. VBE 편집기를 열고 분석하고 싶은 VBA 코드를 표시합니다. 마치 수술대 위에 환자를 올려놓는 것 같죠! ㅎㅎ

2. BreakPoint를 설정할 코드 행의 왼쪽 여백을 클릭하거나, 커서를 해당 행에 놓고 F9 키를 누르면 됩니다. 참 쉽죠~잉?! 그럼 짜잔~! 진한 빨간색 원이 나타나면서 BreakPoint가 설정된 것을 확인할 수 있을 거예요! 마치 신호등의 빨간불처럼 코드 실행을 멈추게 하는 역할을 한답니다.

3. 만약 여러 개의 BreakPoint를 설정하고 싶다면? 위의 과정을 반복하면 돼요! 코드 여기저기에 빨간 점들을 콕콕 찍어두면, 마치 코드에 지뢰를 심어놓은 것 같겠죠?! 하지만 걱정 마세요. 이 지뢰는 버그를 잡는 좋은 지뢰니까요! ^^

4. BreakPoint를 해제하려면? 설정했던 것과 같은 방법으로 빨간 원을 다시 클릭하거나, 커서를 해당 행에 놓고 F9 키를 누르면 됩니다. 마치 마법처럼 빨간 원이 사라지는 것을 볼 수 있을 거예요!

Breakpoint는 조건부로 설정할 수도 있다는 사실! 알고 계셨나요? 특정 조건을 만족할 때만 코드 실행을 멈추게 할 수 있어요. 예를 들어, 변수 i의 값이 10 이상일 때만 Breakpoint가 작동하도록 설정할 수 있습니다. 이 기능은 특정 상황에서 발생하는 버그를 잡을 때 정말 유용 해요! 마치 범인을 잡기 위해 잠복근무를 하는 형사처럼 말이죠!

Breakpoint 활용 및 추가 설명

자, 이제 Breakpoint를 설정하고 해제하는 방법을 알았으니 실제로 어떻게 활용하는지 궁금하시죠?! 다음 챕터에서는 Watch 창을 활용하여 변수 값을 확인하는 방법을 알려드릴게요! 기대하셔도 좋습니다! Watch 창은 마치 현미경처럼 변수의 값을 자세히 들여다볼 수 있게 해준답니다. 더욱 흥미진진한 디버깅의 세계가 펼쳐질 거예요!

Breakpoint는 코드 디버깅에 있어서 정말 강력한 도구 입니다. 마치 코드의 흐름을 마음대로 조종할 수 있는 마법 지팡이 같죠! Breakpoint를 잘 활용하면 복잡한 코드에서도 버그를 쉽게 찾아낼 수 있답니다. Breakpoint는 코드의 특정 지점에서 실행을 멈추게 할 뿐만 아니라, 해당 지점에서 변수의 값, 호출 스택, 그리고 코드의 흐름 등 다양한 정보를 확인할 수 있게 해줍니다. 마치 코드 내부를 훤히 들여다볼 수 있는 마법의 안경 같죠?

Breakpoint를 설정할 때는 전략적으로 위치를 선택하는 것이 중요 합니다. Breakpoint는 의심이 가는 부분이나 에러가 발생할 가능성이 높은 부분에 설정하는 것이 효과적 입니다. 예를 들어, 반복문 안이나 조건문 내부에 Breakpoint를 설정하면 코드의 흐름을 더 자세히 파악할 수 있습니다.

또한, 조건부 Breakpoint를 활용하면 특정 조건을 만족할 때만 코드 실행을 멈추게 할 수 있습니다. 이 기능은 특정 상황에서 발생하는 버그를 잡을 때 매우 유용 합니다. 조건부 Breakpoint를 사용하면 불필요한 중단 없이 원하는 상황에서만 코드 실행을 멈추고 분석할 수 있습니다.

VBA 코드 디버깅에 Breakpoint를 적극 활용하여 마치 코드의 마법사처럼 버그를 쫓아내고 완벽한 코드를 만들어 보세요! Breakpoint는 여러분의 VBA 코딩 실력을 한 단계 업그레이드시켜줄 강력한 도구가 될 것입니다!

반응형

Watch 창 활용하여 변수 값 확인하기

자, 이제 VBA 코드 디버깅의 꽃! 화려한 마법?! Watch 창의 세계로 여러분을 초대합니다! (두둥!) 앞서 BreakPoint를 걸어 코드 실행을 잠시 멈추는 짜릿한 경험을 하셨죠? 이제 멈춘 그 시점에서 변수들의 상태를 낱낱이 파헤쳐 볼 시간입니다. 마치 코드 속을 들여다보는 마법의 돋보기랄까요? ^^

Watch 창, 이름만 들어도 뭔가 감시하는 느낌적인 느낌?! 맞습니다! Watch 창은 특정 변수의 값 변화를 실시간으로 감시(?)할 수 있는 아주 강력한 도구 입니다. 코드가 한 줄씩 실행될 때마다 변수 값이 어떻게 변하는지, 마치 CCTV처럼 꿰뚫어 볼 수 있다는 거죠! 이게 바로 디버깅의 핵심이라고 할 수 있습니다. Imagine! 코드 오류의 원인을 찾기 위해 수십, 수백 줄의 코드를 눈으로만 훑어보던 암흑시대는 이제 안녕~!

Watch 창 활용 방법

자, 그럼 Watch 창을 어떻게 활용하는지 구체적으로 알아볼까요? 먼저 VBE 편집기에서 디버깅하려는 VBA 코드를 열어주세요. BreakPoint도 미리 설정해 두시면 금상첨화! 코드 실행 중 BreakPoint에서 멈추면, "디버그" 메뉴 - "창" - "조사식"을 클릭하면 Watch 창이 짜잔~ 하고 나타납니다. (없으면 당황하지 마시고 추가하시면 됩니다! 참 쉽죠잉?)

Watch 창에 변수를 추가하는 방법은 아주 간단합니다. Watch 창에서 마우스 오른쪽 버튼을 클릭하고 "새 조사식..."을 선택하세요. 그럼 팝업 창이 뜨는데, 여기에 감시하고 싶은 변수 이름을 입력하면 끝! 참 쉽죠? 변수 이름만 입력하면 되니, 타자 연습 좀 하신 분들은 눈 감고도 하실 수 있겠죠?! ㅎㅎ

다양한 조사식 활용

Watch 창에는 여러 종류의 조사식을 추가할 수 있습니다. 단순히 변수 값만 보는 것 외에도, 특정 조건을 만족하는지 확인하는 "조건부 조사식", 표현식의 결과를 보는 "표현식 조사식" 등 다양한 기능을 제공합니다. 마치 스위스 아미 나이프처럼 다재다능하죠?! 이러한 기능들을 잘 활용하면 디버깅 시간을 획기적으로 단축 할 수 있습니다. 시간은 금이니까요!

조건부 조사식 활용 예시

예를 들어, i라는 변수가 10보다 커질 때 코드 실행을 멈추고 싶다고 가정해 봅시다. 이럴 때 조건부 조사식을 사용하면 됩니다. 조사식에 i > 10과 같이 조건을 입력하고, 조건이 만족되면 BreakPoint처럼 코드 실행이 중단되도록 설정할 수 있습니다. 정말 편리하지 않나요?! 마치 마법같은 기능이죠?!

표현식 조사식 활용 예시

표현식 조사식은 변수 값뿐만 아니라, 연산 결과나 함수 호출 결과까지 확인할 수 있는 강력한 기능입니다. 예를 들어, Cells(1, 1).Value * 2와 같은 표현식을 입력하면 해당 셀의 값에 2를 곱한 결과를 바로 확인할 수 있습니다. 엑셀 함수를 사용하는 복잡한 계산식도 Watch 창에서 바로 확인할 수 있으니, 계산기 꺼낼 필요 없겠죠? ^^

Watch 창 활용의 중요성

Watch 창을 잘 활용하면 변수 값의 변화를 실시간으로 추적 하고, 오류의 원인을 빠르게 파악 하여 디버깅 시간을 단축 할 수 있습니다. 숙련된 VBA 개발자라면 Watch 창은 필수! 마치 요리사에게 칼과 같다고 할 수 있죠! (비유 갑!)

Watch 창의 다양한 기능을 100% 활용하여 VBA 코드 디버깅의 달인이 되어 보세요! 여러분의 VBA 실력 향상에 Watch 창이 든든한 지원군이 되어줄 것입니다.

 

실제 VBA 코드 디버깅 예시

자, 이제 드디어! BreakPointWatch 창의 강력한 콤보를 실제 코드에 적용해 볼 시간입니다. 두근두근?! ^^ 지금까지 쌓아온 디버깅 스킬을 맘껏 펼쳐보세요! 예시는 복잡하지 않으면서도 핵심적인 디버깅 포인트를 담고 있도록 신중하게(?) 골라봤습니다. 자, 그럼 시~작!

시나리오

1부터 100까지의 숫자 중 짝수의 합을 구하는 VBA 코드를 작성했는데, 결과가 예상과 다르게 나옵니다?!?! 으악! 어디가 잘못된 걸까요? 디버깅으로 해결해 봅시다!

VBA 코드

Function EvenSum() As Long

    Dim i As Integer

    Dim sum As Long

    sum = 0 ' 초기값 설정!

    For i = 1 To 100

        If i Mod 2 = 0 Then ' 짝수 조건 확인!

            sum = sum + i

        End If

    Next i

    EvenSum = sum

End Function

디버깅 과정

1. BreakPoint 설정: sum = sum + i 라인에 BreakPoint를 설정합니다. 코드 실행 중 이 부분에서 잠시 멈추도록 하는 거죠! 마치 시간을 멈추는 능력처럼요! (하지만 현실은 VBA 코드 안에서만…^^;) F9 키를 누르거나 코드 왼쪽 여백을 클릭하면 BreakPoint가 짠! 하고 나타납니다.

2. 코드 실행: EvenSum 함수를 호출하는 코드를 실행합니다. 예를 들어, 워크시트의 셀에 =EvenSum() 이라고 입력하고 엔터! 그럼 마법처럼 VBA 편집기가 활성화되면서 BreakPoint가 설정된 라인에서 실행이 멈춥니다. 멈췄다?! 디버깅 시작?!

3. Watch 창 활성화: 보기 탭에서 Watch 창을 엽니다. 변수들의 값을 실시간으로 감시할 수 있는 최고의 도구죠. isum 변수를 Watch 창에 추가합니다. 이제 이 변수들의 변화를 예의주시할 수 있습니다! 마치 매의 눈처럼요!

4. Step Into (F8): F8 키를 눌러 코드를 한 줄씩 실행합니다. isum 변수의 값이 어떻게 변하는지 Watch 창에서 확인하세요! i 값이 2, 4, 6… 으로 변하면서 sum 값도 변하는 것을 볼 수 있습니다. 오호라?!

5. 값 검토: i 가 특정 값일 때 sum 값이 예상대로 변하는지 확인합니다. 만약 예상과 다른 값이 나온다면, 바로 그 부분이 에러의 원인일 가능성이 높습니다! 셜록 홈즈처럼 추리해 보세요!

6. 반복 실행: F8 키를 계속 눌러 코드를 끝까지 실행합니다. 최종적으로 sum 변수에 저장된 값이 정확한지 확인합니다. 만약 값이 틀렸다면? 코드를 수정하고 다시 디버깅! 포기하지 마세요! 디버깅은 개발자의 숙명! (하지만 너무 좌절하지는 마세요…^^;)

추가 팁!

Locals 창: 현재 프로시저의 모든 지역 변수 값을 보여줍니다. Watch 창에 일일이 변수를 추가하지 않아도 돼서 편리합니다! 하지만 너무 많은 변수가 나열될 수 있으니 주의!

Immediate 창: Debug.Print 문을 사용하여 특정 변수의 값을 출력하거나 간단한 코드를 실행할 수 있습니다. 디버깅 중에 변수 값을 확인하는 또 다른 방법이죠!

Call Stack: 어떤 함수들이 호출되었는지 순서대로 보여줍니다. 복잡한 코드에서 함수 호출 관계를 파악하는 데 유용합니다!

자, 이제 여러분은 BreakPoint와 Watch 창을 활용하여 VBA 코드를 디버깅하는 방법을 익히셨습니다! 축하합니다! 🎉🎉🎉 이제 어떤 버그도 두렵지 않아요! (물론… 너무 어려운 버그는… 좀… 무서울 수도… ^^;) 하지만 꾸준히 연습하다 보면 디버깅 실력도 쑥쑥! 자신감을 가지고 VBA 코드를 정복해 보세요! 화이팅!

 

자, 이제 VBA 디버깅의 세계에 첫발을 내딛으셨습니다! BreakPoint와 Watch 창, 이 두 친구만 있으면 막막했던 VBA 코드 오류 잡기, 이제 눈 감고도 하실 수 있겠죠? 마치 현미경으로 세포를 관찰하듯 코드의 흐름을 낱낱이 파헤쳐 보세요. "어디서 에러가 터지는 거야?!"라며 책상을 쾅쾅 내리치던 과거의 당신은 이제 안녕! 앞으로는 우아하게 BreakPoint를 설정하고, Watch 창으로 변수 값을 감시하며, 버그를 잡는 멋진 VBA 마스터가 되실 겁니다. 이제 VBA 코딩, 두려워하지 마세요! 마음껏 즐기세요! 혹시 코드가 말썽을 부린다면? BreakPoint와 Watch 창 , 이 두 친구를 꼭 기억하세요! 그럼 다음에 또 만나요! 😉

반응형