본문 바로가기

엑셀/VBA

엑셀에서 VBA 프로그램 작성하기

반응형

엑셀에서 VBA 프로그램을 작성하기 위해서 Visual Basic Editor를 사용합니다. VBA를 알게 되면 엑셀 업무를 하는 데 있어서 보다 빠르고 편하게 업무를 진행할 수 있습니다. 엑셀의 많은 기능이 있지만 모르거나 할 수 없거나 사용하기 불편한 경우가 있습니다. 이럴 경우 VBA를 사용하면 편리합니다.

이전에 엑셀 업무를 매크로로 기록하여 기록된 매크로를 사용함으로 반복업무를 빠르고 쉽게 해결하였습니다. VBA는 그 저장된 매크로 내용을 수정하여 보다 사용자가 원하는 사항을 추가, 변경하여 사용자의 입맛에 맞게 만들 수 있습니다.

 

1. 개체, 속성, 매서드

 개체는 응용프로그램의 요소를 의미합니다. 엑셀에서의 개체는 통합 문서, 워크시트, 셀 또는 셀 범위, 차트 등을 말합니다. 즉 엑셀을 구성하는 모든 요소를 말합니다.

 

 속성은 개체의 특성이나 상태를 말합니다. 개체가 가지고 있는 값이나 형태 등을 의미합니다. 예를 들어 셀에 10이라는 값이 입력되어 있습니다. 그럼 그 셀의 속성은 10이 됩니다. 

 

 매서드는 개체에 대하여 행해지는 명령을 의미합니다. 예를 들어 셀을 마우스로 선택하는 경우 마우스를 클릭하여 선택하는 것이 매서드에 해당합니다.

 

2. Visual Basic Editor

 엑셀에서 VBA를 작성하기 위해서는 Visual Basic Editor를 사용합니다. 엑셀 메뉴에서 개발도구-코드-Visual Basic을 클릭하시면 Visual Basic Editor 창이 열립니다. ([그림 1] 참조)

엑셀-메뉴-개발도구
[그림 1] 개발도구-메뉴

[그림 1]에서 보이는 가장 왼쪽에 있는 Visual Basic 아이콘을 클릭하면 Visual Basic 편집기 창이 열립니다. ([그림 2] 참조)

Visual-Basic-편집기-창모습
[그림 2] Visual-Basic-편집기-창

 

편집기-삽입메뉴
[그림 3] 삽입-메뉴

[그림 2]에 보이는 Visual Basic 편집기 창에서 삽입-모듈을 클릭합니다. ( [그림 3] 참조)

모듈-창-모습
[그림 4] 모듈-창

[그림 4]와 같은 모듈 코드창이 출력됩니다. 모듈 코드 창안에 있는 커서 위치에 VBA코드를 입력하면 됩니다.

이제 프로시저를 입력해보겠습니다. 삽입-프로시저를 클릭합니다.

프로시저-추가
[그림 5] 프로시저-추가-창

[그림 5]와 같은 프로시저 추가 창이 출력됩니다. 출력된 창에 이름을 입력하고 확인 버튼을 클릭합니다.

프로시저-실행-결과
[그림 6] 모듈-코드창-Sub문-입력

[그림 6]과 같이 모듈 코드창에 Sub문이 입력됩니다. 프로시저까지 입력하였으면 VBA 코드 입력 준비는 완료되었습니다.

3. 간단한 VBA 프로그램 작성해 보기

 이번에는 간단하게 VBA코드를 작성하여 셀 병합을 하고 글을 입력하도록 하겠습니다.

[그림 4]와 같은 모듈 코드창을 열어놓고 Public Sub와 End Sub 사이에 다음과 같이 입력합니다.

 

Range("A1:F1").Select

Selection.MergeCells = true

Selection.Value = "1분기 실적 현황"

Selection.HorizontalAlignment = xlCenter

Selection.Font.Size = 20

Selection.Font.ColorIndex = 1

VBA실행버튼-위치
[그림 7] Visual-Basic-편집기-VBA실행버튼

[그림 7]에서 빨간색 사각형으로 표시한 아이콘을 클릭합니다. 그러면 작성한 VBA 코드가 실행됩니다.

VBA실행-결과
[그림 8] VBA코드-실행-결과

[그림 8]과 같이 코드가 실행되었습니다.

결과를 보시면 작성한 코드의 의미도 이해가 되실 것입니다.

코드의 의미를 살펴보면 다음과 같습니다.

 

Range("A1:F1").Select ; A1:F1셀을 선택하라는 의미입니다.

Selection.MergeCells = true ; A1:F1셀을 셀 병합하라는 의미입니다.

Selection.Value = "1분기 실적 현황" ; '1분기 실적 현황'을 병합한 셀에 입력하라는 의미입니다.

Selection.HorizontalAlignment = xlCenter ; 글자를 셀 중앙에 배치하라는 의미입니다.

Selection.Font.Size = 20 ; 글자 크기를 20으로 지정합니다.

Selection.Font.ColorIndex = 1 ; 글자색을 검정으로 지정했습니다.

반응형