관련글
2012/12/10 - [Excel VBA/VBA 배우기] - 01 엄마도 따라 할 수 있는 Excel VBA - 시작
2012/12/10 - [Excel VBA/VBA 배우기] - 02 엄마도 따라 할 수 있는 Excel VBA - Range 사용하기
2012/12/28 - [Excel VBA/VBA 배우기] - 03 엄마도 따라 할 수 있는 Excel VBA - 셀 선택하기, 값 가져오기, 바꾸기
2013/01/08 - [Excel VBA/VBA 배우기] - 04 엄마도 따라 할 수 있는 Excel VBA - for문 if문 사용하기
2013/01/09 - [Excel VBA/VBA 배우기] - 05 엄마도 따라 할 수 있는 Excel VBA - 글자 연결하기 &
2013/01/09 - [Excel VBA/VBA 배우기] - 06 엄마도 따라 할 수 있는 Excel VBA - 변수 선언하기
2013/01/09 - [Excel VBA/VBA 배우기] - 07 엄마도 따라 할 수 있는 Excel VBA - 메세지 창 띄우기
2013/01/09 - [Excel VBA/VBA 배우기] - 08 엄마도 따라 할 수 있는 Excel VBA - 반복문 배우기(For Next문)
2013/01/11 - [Excel VBA/VBA 배우기] - 09 엄마도 따라 할 수 있는 Excel VBA - IF문(조건문) 배우기
2013/01/14 - [Excel VBA/VBA 배우기] - 10 엄마도 따라 할 수 있는 Excel VBA - 셀 주소 알아내기
2013/01/18 - [Excel VBA/VBA 배우기] - 12 엄마도 따라 할 수 있는 Excel VBA - VBA에서 날짜 사용하기
Excel VBA를 이용해서 그린 곡선. VBA를 이용하면 이렇게 다양한 작업을 쉽게 할 수 있습니다.
들어가는 말
Excel에 무궁무진한 기능이 많다고들 합니다. 그 이유는 엑셀에 VBA가 들어 있기 때문에 기능을 구현해서 쓸 수 있어서 저런 말이 나온 것 같습니다.
VBA는 프로그래밍 언어입니다.
프로그래밍이라고 겁먹을 것 없습니다. 엄마도 따라할 수 있게 화면 하나하나 설명해 드릴테니까요.
저는 문과 출신에 프로그래밍 경험이 없었습니다. 하지만 Excel VBA를 통해 프로그래밍에 입문해서 지금은 개발자로 일하고 있습니다.
Excel VBA는 가장 접근하기 쉬운 프로그래밍 언어가 아닐까 합니다. 엑셀만 설치 되어 있으면 바로 프로그래밍을 해볼 수 있기 때문입니다.
먼저 VBA 스크립트 작성법을 따라해보면서 배워보겠습니다.
엑셀 화면입니다. 버젼은 어떤 버젼이라도 상관 없습니다.
상단 메뉴에서 '개발자 도구 - Visual Basic' 혹은 단축키 'Alt + F11'로 들어가면 아래와 같은 화면이 나옵니다. 상단 메뉴에 '개발자 도구'가 없을 수도 있는데 그냥 'Alt + F11'누르고 들어가면 됩니다.
아래와 같이 'Microsoft Excel 개체'에서 마우스 오른쪽 클릭 '삽입 - 모듈'을 선택합니다.
좌측에 '모듈'폴더가 생기고 'Module1'이라는 모듈이 생긴 것을 볼 수 있습니다. '모듈'폴더 아래 있는 'Module1'이라는 파일에 내가 하고 싶은 기능을 입력하는 것을 VBA프로그래밍 이라고 합니다.
VBA를 작성할 수 있는 이 화면을 VBE(Visual Basic Editor)라고 합니다.
이제 VBA를 이용하여 Sheet1의 'A1'셀에 'hello world'를 출력 해보겠습니다. 일단 문자 출력을 해보면 '감'이 온답니다. 문자 출력을 하고 '더하기 기능'도 만들고 '빼기 기능'도 만들다 보면 나중에는 원하는 복잡한 기능을 만들고 있는 자신을 발견할 수 있을것입니다.
위와 같이 입력해봅시다. 아래의 코드를 복사붙혀넣기 하면 됩니다.
Sub 헬로월드()
'Sheet1의 "A1"에 "hello world"를 출력 하시오.
Sheet1.Range("A1").Value = "hello world"
End Sub
코드를 잠깐 설명 드리면
Sheet1의 "A1"에 hello world라고 출력하라는 코드 입니다.
다시 엑셀 화면으로 돌아와서 방금 작성한 매크로를 실행해 보겠습니다.
'개발자 도구 - 매크로'를 선택하거나 Alt + F8을 누릅니다.
아까 작성했던 '헬로월드'라는 매크로가 나옵니다.
위 코드에서 Sub 헬로월드()라고 해주었기 때문에 여기에서 '헬로월드'라는 이름이 보이는 것입니다. 앞에서 Sub 헬로월드() 대신 Sub 바이월드()라고 했다면 '바이월드'라고 나왔을 것입니다.
우측에 '실행'버튼을 눌러보겠습니다.
'hello world'가 보이시나요? 보이신다면 잘 만드신겁니다.
앞으로는 'hello world'가 나오는 기능 대신에 위와 같이 곡선을 그리는 기능 등 여러분들이 원하는 각종 기능들을 만들어 보겠습니다.
소스코드를 조금 더 상세히 분석 해보겠습니다. 아래 코드입니다.
Sub 헬로월드()
'Sheet1의 "A1"에 "hello world"를 출력 하시오.
Sheets1.Range("A1").Value = "hello world"
End Sub
서브루틴(Subroutine)
VBE에서 특정 기능을 수행하는 하는 코드의 묶음을 서브루틴(Subroutine)이라고 합니다.
Sub 헬로월드()
End Sub
시작은 'Sub 펑션이름() '으로 시작하고 'End Sub'로 끝납니다.
이제 예제를 한번 해보겠습니다.
주석
'Sheet1의 "A1"에 "hello world"를 출력 하시오.
문장 앞에 ' 를 붙이면 '주석'입니다. VBE가 실행 될 때 저 줄은 실행을 하지 않고 건너띕니다. 사용자가 나중에 알아보기 편하라고 적는 것이고 특정 기능이 없는 것을 '주석'이라고 합니다.
Sheet1.Range("A1").Value = "hello world"
Sheet1의 "A1"열에 "hello world"라고 입력하라는 뜻입니다.
예제1
그러면 "A1"대신에 "A1:A100"이라고 입력하면 어떻게 될까요?
Sub 헬로월드()
'Sheet1의 "A1"에 "hello world"를 출력 하시오.
Sheet1.Range("A1:A100").Value = "hello world"
End Sub
소스코드에서 F5를 눌러서 실행 해보겠습니다.
아래와 같이 A1:A100열에 모두 "hello world"가 들어갑니다.
예제3
이렇게 바꿔봅시다. Sheet1.Range("A1:A100").Value = "good bye world"
실행하면 아래와 같이 나옵니다.
감이 좀 오시나요? "" 따옴표 안에 있는 내용을 수정하면 됩니다. ""따옴표가 빠지면 에러가 납니다.
end.
다음 글 : Range 사용하기
02 엄마도 따라 할 수 있는 Excel VBA - Range 사용하기
이전 글 2012/12/10 - [Excel VBA] - 01 엄마도 따라 할 수 있는 Excel VBA - 시작 Range Class에 대해 알아볼게요. Range Class는 Excel VBA에서 가장 많이 사용하는 Class중 하나에요. (Class란? 속성과 기능으..
krksap.tistory.com
'Excel VBA > VBA 배우기' 카테고리의 다른 글
06 엄마도 따라 할 수 있는 Excel VBA - 변수 선언하기 (2) | 2013.01.09 |
---|---|
05 엄마도 따라 할 수 있는 Excel VBA - 글자 연결하기 & (13) | 2013.01.09 |
04 엄마도 따라 할 수 있는 Excel VBA - for문 if문 사용하기 (0) | 2013.01.08 |
03 엄마도 따라 할 수 있는 Excel VBA - 셀 선택하기, 값 가져오기, 바꾸기 (16) | 2012.12.28 |
02 엄마도 따라 할 수 있는 Excel VBA - Range 사용하기, 버튼추가 (14) | 2012.12.10 |
01 엄마도 따라 할 수 있는 Excel VBA - 시작 (39) | 2012.12.10 |
쉽게 설명해주셔서 공부하기 좋습니다 감사합니다 ^^ 혹시 책도 집필한게 있으신가요????
사랑해요
감사합니다
오홍!! 딱 제가 원하던 강의 였습니다!! 감사합니다!!
이해하기 쉽게 풀이되어 있어 좋네요^^
도움이 되었다니 보람있네요.
정말 이해하기 쉽게 잘 설명하시네요. 고맙습니다.
VBA 책을 몇 권 사놓고 공부 하려니 답답하고 안 되길레
구글링 통해서 알게 됐습니다.
60 넘은 나이지만 시작 합니다.
많은 가르침 부탁 드립니다.
배우는게 참 좋습니다.
오 쉽네요 아직까진 ㅋㅋ
안녕하세요. 글 잘 읽었어요.
전 파이썬/자바 프로그래밍 경험이 있는데, 그럼 vba도 금방 할수 있을것 같아보이는데 맞을까요...?
아님 제가 아직 모르는 어려운 부분이 있을까요..
다른 언어 해보셨으면 비교적 빨리 배우실 수 있으실거에요
이제 시작해 볼 수 있겠네요, 아주 쉽게~
퍼펙트한 설명 감사 합니다.
엑셀을 새로만들어서 하면 잘되는데 기존에 엑셀파일에 하면 안되네요...시트가 여러개여서 실행이 안될 수도 있나요?
엑셀에서 vba를 사용하는 이유가 궁금합니다. vba의 근본이 되는,사용되는 코드, 언어를 알고 싶습니다.
엑셀에서 자동화 처리를 하기 위해 사용해요. vba의 근본 언어는 basic입니다.
정말 쉽게 잘 작성하셨네요. 도움 잘 받고 갑니다. 감사합니다.^^
RPA 하게 되면서 VBA가 필요하게 되서 처음 접하게 됐습니다. 모든 강의 열심히 따라해서 많은 도움 받고 가겠습니다 감사합니다.
잘 배우고 갑니다. 좋은 정보 감사합니다!
엑셀VBA가 무엇인지 검색하다 들어 오게 되었어요. 잘 배워 가겠습니다. 감사합니다.
감사합니다. 근데 볼혀넣기는 초큼 그렇네요 XD
넵 수정 했습니다 감사합니다~
좋은 글 감사 합니다. 이제 VBA를 처음 관심을 가지고, 접하는 관점에서 좋은 자료가 된 것 같습니다.
저 같은 초보자들을 위해 좋은 글들 앞으로도 많이 부탁 드립니다.
직딩.. 이제 컴활은 못따겠음.. 그냥 이렇게... 따라 ... 크헉