엑셀 VBA에서 Visual Basic 코드를 작성하고 수정하고, 디버깅을 할 수 있는 에디터가 Visual Basic Editor 입니다.
처음에는 아래와 같이 단순하게 프로젝트 창, 코드 창, 속성 창으로 구성되어 있고, 도구모음도 표준만 있습니다.
그런데, 프로그램을 하고, 디버깅을 하려면 직접 실행창과 지역창도 추가하고, 편집 도구모음도 배치하는 등 환경 설정을 새롭게 할 필요성이 있습니다.
1. 직접 실행창과 지역창을 추가 하기
직접 실행창과 지역창을 추가하려면 보기 메뉴를 누른 다음, 직접 실행창과 지역창을 마우스 왼쪽 버튼으로 클릭하면 됩니다. 그리고 그 아래 조사식 창이 있는데, 변수를 선택한 후 조사식에 추가하면 자동으로 생기므로 굳이 미리 만들 필요는 없을 듯 합니다.
그럼 아래와 같이 아래 쪽에 직접 실행창과 지역창이 생깁니다.
2. 편집 도구모음 배치하기
보기 메뉴를 누른 후 도구 모음 오른쪽의 세모를 누른 후 편집을 누르면 편집 도구 모음이 표준 도구 모음 아래 배치됩니다. 물론 디버그를 눌러 디버그 도구모음을 배치할 수도 있습니다.
편집도구모음의 위치를 변경하려면 편집도구 모음의 왼쪽, 파란 선으로 표시한 부분을 클릭해서 움직이면 되는데, 표준 도구모음의 오른쪽에 배치하는 것이 편리합니다.
(편집 도구모음을 표준 도구모음의 오른쪽에 배치한 화면)
3. 변수 선언 요구
변수 타입은 크게 문자(String), 숫자(정수 Integer, 더블 Double), 날짜(Date), 개체(Object, 범위는 Range), 논리값(Boolean), 가변데이터(Variant) 등으로 나뉩니다.
Variant는 숫자,문자, 논리값 등 변수가 어떠한 타입으로 변하더라도 에러가 나지 않기 때문에 정확한 연산을 위해서는 사용하지 않는 것이 바람직하며, 숫자인 경우 적당한 크기로 선언함으로써 메모리를 효율적으로 관리할 필요성이 있습니다.
VBA에서는 위와 같은 문제를 예방할 수 있도록 도구 - 옵션에
'변수 선언 요구'란 옵션이 있으며, 여기에 체크를 하면
삽입 - 모듈을 눌러 모듈 작성시
아래와 같이 'Option Explicit'란 문장이 코드 창에 자동으로 추가되며, 이는 "변수 선언을 명백히 하라"는 의미 입니다.
만약, 아래와 같이 변수 sMsg에 대한 변수 타입을 선언하지 않고 '변수' 프로시져를 작성한 다음 실행 버튼을 클릭하면
sMsg를 가리키면서, '변수가 정의되지 않았습니다'란 에러 메시지가 나타납니다.
이 때는 '확인'버튼을 눌러 에러 메시지 창을 닫은 다음, 재설정 아이콘을 누르고,
아래와 같이 변수를 선언하고
'변수'란 프로시져를 실행하면 에러 메시지 없이 아래와 같은 메시지 창이 나타나는데, 메지지가 없는 것은 SMsg의 내용을 입력하지 않았기 때문입니다.
확인 버튼을 누른 후 변수값을 아래와 같이 입력하고 실행하면
아래와 같이 메지지가 창에 sMsg 변수의 내용이 표시됩니다.
4. 직접 실행창의 역할
프로그램을 디버깅할 때 수식이 제대로 작동하는지, 변수의 결과값이 뭔지 직접 실행창에서 입력해서 쉽게 확인할 수 있습니다. 직접 실행창에서 결과값을 알기 위해서는 ?(물음표)를 사용합니다.
예를 들어 ? 3*4 라고 입력한 후 엔터 키를 치면 아래 화면과 같이 결과값인 12가 아래 나타납니다.
프로그램을 하다 보면 더 복잡한 수식도 있을 겁니다. 그 때 사용하시면 유용하리라 생각됩니다.
5. 지역창의 역할
지역창은 변수의 변화하는 모습을 보여주는 역할을 합니다.
프로그램이 노란 줄로 표시된 부분을 실행하기 위해 대기 중이며, 그 때 변수 i, j, iRow, iCol의 값을 아래와 같이 보여줍니다.
6. 편집 도구모음
7. 지역창 및 직접 실행창 배치
① 창 세로 배치
창을 세로로 배치하려면 창 제목 표시줄을 끌어서 윈도우 상태표시줄로 부터 창 제목표시줄 위까지 투명 표시가 나타나도록 한 다음 놓으면 됩니다. 변화되기 전 상태가 중요합니다. 그런데 마음대로 잘 안되기는 합니다.
(하나는 가로, 하나는 세로로 배치된 화면) - 왼쪽에 배치할 수도 있습니다.
아래와 같이 속성 창과 코드 창, 지역 창에 걸쳐서 투명 표시창이 표시되도록 하고 놓으면 지역창이 코드창 왼쪽에 표시됩니다.
② 2개의 창 수평으로 배치
세로 배치 상태의 창을 가로로 만들려면 윈도우 상태표시줄과 기존 창 제목표시줄 아래에 걸쳐 투명 표시창이 표시되도록 하고 놓으면 됩니다. 창의 높이가 낮으면 창의 윗부분에 마우스 커서를 갖다 대고 조절 바가 나왔을 때 끌어 조절하면 됩니다. 변화되기 전 상태가 중요합니다.
(위, 아래로 배치된 화면)
③ 2개의 창 좌,우로 배치
2번과 같이 된 상태에서 윈도우 상태표시줄과 창 제목표시줄 아래에 걸쳐 투명 창이 표시되도록 한 다음 놓으면 좌,우로 창이 배치됩니다. 투명창을 놓는 방법이 2번과 같으므로, 변화되기 전 상태가 중요합니다
창의 너비를 맞추려면 가운데 조절 바를 움직이면서 맞추면 됩니다.
④ 속성 창 위에 배치
아래와 같이 직접 실행창을 끌어서 속성 창 위,아래에 걸쳐 투명 창이 표시되도록 한 다음 놓으면 속성 창위에 직접 실행 창이 배치됩니다.
⑤ 움직일 수 있는 창
창을 끌어서 아래와 같이 4각형 모양이 되도록 한 다음 높으면 따로 떨어져서 움직일 수 있는 창이 됩니다.
생각보다 창 배치하기가 어렵긴 한데, 좋은 위치를 잡아 놓고 작업해 보시기 바랍니다.
'EXCEL - VBA' 카테고리의 다른 글
엑셀 매크로 파일(.xlsm)이 실행되지 않을 때(2) - 신뢰할 수 있는 위치 (0) | 2022.09.19 |
---|---|
엑셀 매크로 파일(.xlsm)이 실행되지 않을 때(1) - 파일 차단 해제 (2) | 2022.09.19 |
엑셀 - 개발 도구 탭 활성화 하기 (0) | 2022.09.16 |
지번 형식 변환하기 2 (사용자 정의함수) (0) | 2020.07.31 |
엑셀의 유용함, 사용자 정의함수(2) (0) | 2020.07.28 |