티스토리 뷰

0. 엑셀에서 매크로 처음 시작하기

 

'파일' > '옵션' > '리본 사용자 지정' > '개발도구'에 체크

 

 

 

 

1. 메크로 만들기

 

  2010버전에서 상단의 '개발도구' > '메크로' 버튼을 누른다.  

 

 

 


 

 매크로 창이 뜨면, 본인이 원하는 매크로 이름을 적고( 숫자로 시작하면 안됨) '만들기' 버튼을 눌러 매트로를 생성한다.

 그럼 VBA모드로 넘어가는 것을 볼 수 있다.

 앞으로 Alt + F11을 누르면 엑셀과 VBA모드를 자유롭게 전환할 수 있다.



 

2. VBA 시작하기

 

 VBA모드에서 왼쪽 프로젝트 리스트를 보면

  •  Microsoft Excel 개체
  •  폼
  •  모듈

 3가지 폴더가 존재하는 것을 발견할 수 있다.

 처음은 모듈 폴더 안의 Module 1이라는 이름으로 시작하게 될 것이다.

 모듈은 아래와 같은 코드로 되어 있을 것이며


     Sub 매크로이름_Click()

     End Sub



이 안에 코드를 넣어 VBA를 사용할 수 있다.



 

3. 폼을 만들어 프로그래밍 하기
 

 ㄱ. 상단  '삽입' > '사용자 정의 폼'을 눌러 폼(윈도우 창)을 생성한다.

 ㄴ. 왼쪽 프로젝트 리스트의 폼 폴더 안에 새로 생긴 폼(UserForm1)을 더블클릭하면 프로젝트 리스트 아래에 속성창이 뜨는데, 이 곳에서 창의 이름 및 크기 등을 설정 할 수 있다.

 ㄷ. 사용자가 엑셀에서 버튼을 눌러 폼이 바로 보이게 하기위해선


     Sub 매크로이름_Click()

           UserForm1.Show

     End Sub


이와 같이 설정을 해줘야 한다.


 

4. 엑셀에서 만든 버튼을 폼과 연동하기

 

 ㄱ. 엑셀로 돌아와(Alt + F11) 상단의 '개발도구' > '삽입' > '단추' 버튼을 누른다.

       그리고 엑셀 창에 버튼을 삽입하고 싶은 곳을 클릭하면 '매크로 지정'이라는 창이 나오고 매크로를 선택할 수 있다.

 

 

 

 


 

  ㄴ. 아까 만든 매크로를 선택 후  하단의 '확인' 버튼을 누른다.

        이제 버튼을 누르면 폼이 열리는 것을 확인할 수 있다.



 

5. VBA 프로그램 짜기 

 

  VBA 모드에서는 폼을 디자인 할 수 있다. 

  도구상자를 이용해 버튼 및 텍스트 입력창 등을 만들 수 있으며, 만든 버튼을 더블클릭하면 프로그램 코드를 입력할 수 있는 창으로 전환한다.

  (플레쉬 액션 스크립트와 비슷한게 많다.)


 

 이제부터 비주얼베이직이니 비주얼베이직 관련 함수를 찾아 공부하도록. 필자도 저번 주에 VBA 처음 접해봤을 뿐이다.



 

6. 기타(매모)  - (영어단어 시험지 만들기 매크로를 만들면서 생긴 노하우일 뿐이지 최선의 방법이 아닐 수 있다. )
 

 ㄱ. 메시지 박스 출력

          MsgBox "Hello VBA!"


 ㄴ. 생성자가 없어 폼이 생성되자 마자 변수를 어떻게 초기화 시키는가?

     > 가장 먼저 실행되는 것이 모듈이므로 모듈창에서 다음과 같이 입력하면 된다.

     > ' 는 주석이다.

     Sub 매크로이름_Click()

          UserForm1.OptionButtion1.Enabled = False ' 버튼 비활성화 초기화

          UserForm1.변수이름  = 값  '변수 초기화

          UserForm1.Show ' 이건 아까 위에서 만든거

     End Sub


 ㄷ. 전역변수 생성법

 > 상단에 다음과 같이 입력하면 된다.

     Option Explicit
          Dim 변수명1 As Integer

          Dim 변수명2 As Boolean

          Dim 변수명3 As String


ㄹ. '닫기' 버튼 만들기

     Private Sub CommandButton1_Click()
          Unload UserForm1
     End Sub


액셀 제어 방법은

> [VBA] 엑셀 매크로(2/3) - 엑셀 제어하기
> [VBA] 엑셀 매크로(3/3) - VBA 주요문법

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함