본문 바로가기

엑셀/VBA

VBA 프로그래밍을 위한 기본 사항 확인하기 I

반응형

VBA에 대해 여러 가지 글을 쓰다가 기본 사항들을 집고 넘어가는 것이 좋을 것 같아서 VBA 프로그래밍 기본 사항들을 확인해보고자 합니다. 매크로를 기록해보면 자동으로 입력되는 Sub 프로시저 같은 경우도 VBA를 작성할 때는 직접 입력을 해주어야 합니다. 이럴 경우 어떻게 해야 하는지 알아보겠습니다.

 

1. 모듈 삽입하기

 우선 엑셀을 여신 후 Visual Basic Editor(VBE)를 여십시요. Visual Basic Editor(VBE) 창이 열리면 메뉴에서 삽입-모듈을 선택합니다. Visual Basic Editor(VBE) 여는 방법은 아래 링크로 이전 글을 확인해보시기 바랍니다.

 

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

 

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

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

mr-johndoe.tistory.com

 

 

 

삽입_모듈_메뉴
[그림 1] 삽입-모듈 메뉴

[그림 1]을 참조하셔서 모듈을 추가합니다.

 

추가된_모듈_모듈창
[그림 2] 추가된 모듈과 모듈창

[그림 2]와 같이 좌측 빨간색 사각형으로 표시된 부분에 모듈이 추가된 것을 보실 수 있으며 우측에는 모듈 코딩 창이 떠있는 것이 보입니다.

이제 모듈 코딩창에 'sub standard'를 입력하고 엔터키를 누릅니다.

 

Sub_프로시저_작성
[그림 3] Sub 프로시저 작성

[그림 3]과 같이 sub의 s가 대문자로 바뀌고 standard 옆에는 ( )가 생겼고 아래에는 End Sub라는 글이 자동으로 입력됩니다. 이는 VBA가 sub라는 명령어를 인식하고 Sub 프로시저를 자동으로 완성해 준 것입니다.

 

2. 개체 입력하기

 이제 Sub 프로시저 내에 개체를 입력하여 보겠습니다. VBA에서 많이 사용되는 Range 개체를 입력합니다.

프로시저 내에 개체를 입력할 때는 탭(Tab) 키를 한 번 누르고 입력하여 개체 입력임을 쉽게 구분할 수 있도록 하는 것이 좋습니다.

 

개체_Range_입력
[그림 4] Range 개체입력

[그림 4]와 같이 Range 개체를 입력하였습니다. 이제 입력한 개체의 속성이나 메서드를 입력해주어야 합니다. 그러려면 'Range ("A1")' 뒤에 '.' 마침표를 입력합니다. 그러면 속성 및 메서드 입력 메뉴가 뜹니다. ([그림 5] 참조)

 

개체_Range_속성
[그림 5] Range의 속성 및 메서드

 

 

 

[그림 5]에서 속성 및 메서드 메뉴가 뜬 상태에서 'V'를 입력하면 메뉴의 내용이 V로 시작하는 메뉴들로 바뀝니다. 입력하려는 속성은 'Value'입니다. 이를 차례대로 입력하다가 Value가 메뉴에 나타나면 메뉴에서 Value를 선택하고 탭키를 눌러 코드 창에 입력합니다.

다음은 한 칸을 띄우고 '= 1'을 입력합니다. ([그림 6] 참조)

 

개체_속성_입력
[그림 6] 개체와 속성 입력

입력한 명령은 A1셀에 1을 입력하라는 의미입니다.

 

VBA 실행
[그림 7] VBA 실행

[그림 7]에서 빨간색 사각형으로 표시된 화살표 아이콘을 클릭하면 VBA 프로그램이 실행됩니다. 단축키 F5를 누르셔도 됩니다. 그러면 엑셀 파일 Sheet1 시트에 가보시면 A1 셀에 1이 입력된 것을 보실 수 있습니다.

 

이번에는 메서드를 입력해 보겠습니다.

 

메서드 입력
[그림 8] 메서드 입력

[그림 8]과 같이 메서드 Sub 프로시저를 입력합니다.

'Range("A3").Select'는 A3 셀을 선택하라는 의미입니다. 즉 A3 셀이 선택된 상태가 됩니다. F5 키를 눌러서 실행시키시면 Sheet1 시트의 A3셀이 선택되어 있는 것을 볼 수 있습니다.

 

반응형