본문 바로가기
  • 안녕하세요! 금융, 책, 코딩을 기록합니다
'코'딩/VBA

엑셀 VBA (기초1)

by 금책코 2025. 4. 13.

안녕하세요!

 

 

오늘은 엑셀 매크로와 VBA를 소개하는 글을 작성해보려고 합니다.

 

기본적으로 VBA에 집중하여 내용을 작성하겠지만,

 

VBA를 설명하기에 필요한 기본적인 엑셀이나 매크로 등의 개념들도 함께 소개할 것 같습니다.

 

엑셀의 SUM 함수정도만 알아도 충분히 따라 올 수 있을 정도로 기초부터 시작하려고 하고,

 

하나의 주제를 깊게 길게 쓰기보다는 짧은 기능과 설명을 묶은 형태로 글을 구성하려고 하니  

 

너무 부담을 갖지 않고 글을 읽어주셨으면 좋겠습니다.

 

 

1) VBA 소개 

 

VBA는 Visual Basic for Application의 약자로,  Microsoft office의 Excel, Word 등 다양한 마이크로소프트사의 프로그램에서 활용할 수 있는 프로그램 언어입니다. 

 

하지만 주로 VBA가 Excel의 매크로를 개발하는데 사용되다보니, 실제 의미보다 좁은 범위의 단어로 사용되곤 합니다. 

 

이 글이 작성되는 카테고리의 VBA 또한 Excel 내에서 사용되는 VBA에 한정되어 작성 될 것 같습니다. 

 

 VBA는 1993년에 마이크로소프트에서 출시된 프로그램 언어치고는 역사가 상당히 오래 된 언어입니다.

 

사실 프로그래밍 언어가 역사가 오래 됐다는 것은 두 가지의 의미를 동시에 담고 있습니다. 

 

첫째는 과거부터 현재까지 쓰일만큼 유용성이 다양한 유저에 의해 검증된 언어라는 것이고,

 

둘째는 오래 전 과거에 출시되었기 때문에 호환성, 기능, 보안 등에서 '구식'처럼 느껴질 수도 있다는 것이죠.

 

하지만 VBA는 [사진1]처럼 이 글을 작성하고 있는 시점에서 수없이 많은 프로그래밍 언어 중에 아직도 열 손가락 안에 드는 언어이니, 충분히 살아있는 언어라고 할 수 있겠습니다.

[사진1]

 

 

2) VBA의 쓰임 

 

VBA가 오랜 기간 생명력을 유지하고 있는 것은 아무래도 엑셀의 존재 덕분이라고 생각하고,

사람들이 엑셀을 쓰는 한 VBA는 계속해서 쓰이는 언어가 될 것 같습니다.

 

엑셀을 안 쓰는 사무직은 존재하지 않는다고 해도 과언이 아닐 정도로,

엑셀은 컴퓨터로 공부를 하거나 업무를 하는 사람이라면 한 번쯤은 써봤을 아주 유용한 프로그램입니다.  

 

그리고 VBA는 그러한 프로그램의 매크로 기능을 개발하는데 사용되는데 쓰입니다. 

 

 

3) 매크로 만들기 

 

앞서 설명드린 것과 같이 엑셀에서 VBA는 기본적으로 매크로 기능을 개발하는데 쓰이기에,

매크로에 대해서도 짧게 설명드리겠습니다. 

 

매크로(Macro) 라는 단어는 여러 분야에서 의미가 다양하게 쓰이지만,

엑셀에서는 반복적인 작업을 기록하여 자동화 시키는 것으로 쓰입니다.   

 

그렇다면 매크로는 어떻게 만들 수 있을지를 소개하겠습니다. 

 

매크로는 엑셀 상단의 '개발 도구' 항목에 있는데, 어떤 분들은 상단 부분에 '개발 도구' 항목이 없을 수 있습니다. 

 

이는 보안 상의 이유로 기본적으로 엑셀 프로그램에서는 개발 도구가 보이지 않게 설정이 되어있기 때문입니다.

 

그렇다면 엑셀의 매크로 기능이 보안에 문제를 일으킬 여지가 있다는 것일까요?

 

네 맞습니다.

 

엑셀의 매크로 기능은 권한이 꽤나 강력하기 때문에, 충분히 컴퓨터에 바이러스를 심을 수 있습니다.

 

따라서  불확실하거나 검증되지 않은 유저에 의한 엑셀 매크로 파일은 애초에 다운도 받지 않는 것을 권해드립니다. 

 

 

아무튼 상대에 '개발 도구' 항목을 표시되게 하는 방법은 

[사진2]의 노란 음영처럼 엑셀 상단의 '파일' - '옵션' 을 순서대로 클릭하면 나오는 화면에서 '리본 사용자 지정' - '개발 도구'의 체크 박스를 체크해주시고 '확인'을 누르시면 됩니다.   

[사진2]

 

 

그러면 이제 [사진3]처럼 상단에 '개발 도구' 항목이 생긴 것을 확인할 수 있을 것이고 '매크로 기록'을 통해 매크로를 만들 수 있습니다,

[사진3]

 

매크로를 만들어보고 사용하는 것은 아래의 [동영상1]을 보시면 직관적으로 이해하실 수 있으리라 생각합니다.

[동영상1]

 

 

4) VBA 코드 확인 

 

우리가 이렇게 클릭으로 만든 매크로가 저장되고 실행될 수 있는 것은 엑셀이 자동으로 우리의 클릭을  VBA 언어로 변환하여 저장해줬기 때문입니다.

 

그렇다면 저장된 매크로의 VBA 코드는 [사진4]처럼 'Visual Basic' 클릭 후,

새롭게 나오는 화면의 'Module1'을 클릭해주면 나오는 창을 통해 확인 할 수 있습니다.  

[사진4]

 

 

5) VBA 코드 해설 

 

이제 아주 간단히 만든 매크로의 VBA 코드를 설명하는 것으로 글을 마치겠습니다.

VBA에서 주석을 다는 방법은 작은 따옴표 하나(')를 통해 코드 내용이나 기능을 설명할 수 있습니다. 

' sub는 하나의 작업 단위를 선언하는 기능입니다. 
' 내용을 마칠 때는 반드시 'End Sub'를 통해 하나의 작업이 끝났다는 것을 알려줘야 합니다.

' 매크로 이름 옆에 있는 괄호()는 매개변수를 알려주는 곳입니다.
' 엑셀에서 Vlookup 기능을 하기 위해 반드시 입력해줘야 하는 부분들이 바로 매개변수입니다.
Sub 매크로_연습()

   'Range는 단어 그대로 범위를 뜻하며 큰 따옴표("")를 통해 작성합니다.
   'Select는 해당 범위를 클릭하는 것을 의미합니다. 
    Range("D5").Select
    
    ' ActiveCell은 클릭을 통해 활성화 된 셀을 말합니다.
    ' FormulaR1C1은 활성화 된 셀을 중심으로 1,1칸에 있는(즉 활성화 된 칸) 곳에 값을 입력하는 것을 말합니다.
    ' 엑셀은 0부터 세는 것이 아니라 1부터 세니 유의해주세요! 
    ActiveCell.FormulaR1C1 = "안녕하세요!"
    
    ' 매크로는 값을 입력하는 것뿐만 아니라 모든 클릭을 저장합니다.
    ' 해당 줄을 통해 제가 I6에 칸을 의미없이 클릭한 것도 기록한 것을 볼 수 있습니다.
    Range("I6").Select

' 작업을 끝내는 것을 선언합니다.
End Sub

 

 

그럼 이상으로 VBA에 대해 아주 간략하게 소개하는 글을 마치도록 하겠습니다.

 

이후부터는 구체적인 VBA 코드로 넘어가서 다양한 함수와 기능들에 대해 서술하겠습니다. 

 

긴 글 읽어주셔서 감사합니다. 조금이라도 도움이 되었으면 좋겠습니다!