[데이터처리와활용] 9강. 엑셀 자동화를 위한 VBA 문법 완전 정복

[VBA 강의 기초편] 엑셀 자동화를 위한 VBA 문법 완전 정복 – 변수, 연산자, 조건문

안녕하세요! 이번 포스팅에서는 VBA 언어구조의 기초 개념을 정리합니다.
엑셀에서 반복 작업을 자동화하고 싶다면 VBA는 꼭 알아야 할 필수 스킬입니다.


1. VBA 모듈과 프로시저란?

모듈과 프로시저 개념

  • 모듈: 여러 프로시저로 구성된 코드 단위

  • 프로시저(Procedure): 실행할 작업(명령어 집합)

1
2
3
Sub 첫발자국()
MsgBox “안녕하세요!”
End Sub
cs
  • SubEnd Sub 사이에 명령어 작성

  • MsgBox는 메시지 창을 띄우는 함수입니다.

한 줄에 여러 명령 입력

1
2
3
Sub 한줄()
= 5: j = 6: MsgBox i + j
End Sub
cs

2. 변수와 데이터 타입

변수 선언 방법

1
Dim 변수명 As 데이터타입
cs

주요 데이터 타입

데이터 타입 설명 예시 값
Integer 정수형 -32,768 ~ 32,767
Long 큰 정수 -21억 ~ 21억
Single, Double 실수형 3.14 등
String 문자열 “Hello”
Boolean 논리값 TRUE, FALSE
Object 객체 워크시트, 셀 등
Date 날짜/시간 2025-06-04
Variant 자동형 자동으로 형식 결정

변수명 규칙

  • 첫 글자는 반드시 영문 또는 한글

  • 특수문자 불가, 공백 불가

  • 키워드(If, Range 등)는 변수명으로 사용할 수 없음

 

3. 연산자 (산술, 비교, 논리)

산술 연산자

연산자 설명 예시
+ 더하기 2 + 3 = 5
빼기 5 – 2 = 3
* 곱하기 2 * 3 = 6
/ 나누기 5 / 2 = 2.5
\ 정수 나누기 5 \ 2 = 2
^ 거듭제곱 2 ^ 3 = 8
Mod 나머지 5 Mod 2 = 1
1
Cells(11= 5 Mod 2
cs

비교 연산자

연산자 의미 예시 결과
< 작다 TRUE
<= 작거나 같다 TRUE
> 크다 FALSE
>= 크거나 같다 TRUE
= 같다 TRUE
<> 같지 않다 TRUE

5. 조건 제어문

If – ElseIf – Else

1
2
3
4
5
6
7
If x > 0 Then
MsgBox “양수”
ElseIf x = 0 Then
MsgBox “제로”
Else
MsgBox “음수”
End If
cs

IIf 함수 (한 줄 조건문)

1
Cells(11= IIf(x > 0“양수”“그외”)
cs

Select Case

1
2
3
4
5
6
7
8
Select Case 점수
Case 90 To 100
MsgBox “A”
Case 80 To 89
MsgBox “B”
Case Else
MsgBox “F”
End Select
cs

Choose 함수

1
MsgBox Choose(2“사과”“바나나”“오렌지”‘ 바나나
cs

Switch 함수

1
MsgBox Switch(x = 1“One”, x = 2“Two”, x = 3“Three”)
cs

중요 내용 정리

  • Sub~End Sub 사이에 VBA 명령 작성

  • 변수는 Dim으로 선언하고 데이터 타입 지정

  • 산술/논리/비교 연산자는 기본적인 연산 및 조건 제어에 필수

  • 색상 및 문자열/날짜 함수로 다양하고 유용한 자동화 가능

  • 조건문 (If, Select Case, IIf, Switch)은 자동화의 핵심 제어문


객관식 문제

1. 다음 중 VBA에서 문자열을 소문자로 바꾸는 함수는?
① LCase()
② UCase()
③ Str()
④ Len()

정답: ①
해설: LCase는 모든 문자를 소문자로 변환합니다.

2. 다음 중 논리연산자 And의 결과가 FALSE가 되는 경우는?
① 둘 다 참일 때
② 둘 중 하나라도 거짓일 때
③ 모두 거짓일 때
④ 참과 참일 때

정답: ②
해설: And는 모두 참이어야 TRUE입니다.

3. 아래 VBA 코드는 어떤 값을 출력하는가

MsgBox Choose(3, "A", "B", "C", "D")

① A
② B
③ C
④ D

정답: ③
해설: Choose(3, …)는 세 번째 항목인 “C”를 반환합니다.

댓글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다