오빠두엑셀 `2026 무료 챌린지` 오픈! 완주하고 수료증 받아가세요! 5년 연속 IT분야 베스트셀러! 「 진짜쓰는 실무엑셀 」로 2026년 공부 끝내기 엑셀이 막히셨나요? Q&A 게시판에서 바로 해결하세요.
메뉴
VBA 기초 강의

엑셀 VBA 변수 사용예제

오빠두엑셀 by 오빠두엑셀
  • 학습시간 6분
  • 난이도 고급
  • 작성일 2018.04.25

VBA에서 자주쓰는 변수 7가지의 실전 사용예제! - VBA 코딩의 시작

이 강의에서는 엑셀 VBA에서 자주 사용하는 7가지 데이터타입(Integer, Long, Double, String, Variant, Boolean, Object) 변수를 직접 선언하고 값을 할당하는 방법을 다룹니다. Dim 명령문으로 변수를 선언하고, 개체 변수에 한해 Set 키워드로 값을 할당하는 차이를 실습 코드와 함께 살펴봅니다. 마지막으로 MsgBox와 [ & ] 연산자를 활용해 각 변수의 결과를 메시지창에 출력하며 VBA 코딩의 기본기를 정리합니다.

엑셀 VBA 변수 사용예제
DOWNLOADS

실습자료를 준비했어요

수업에서 사용한 예제 파일과 보충 자료를 한 곳에 정리했습니다!👇

1. VBA 코드 전문

Sub DataType_Test()
 
Dim MyInt As Integer
Dim MyLng As Long
Dim MyDbl As Double
Dim MyStr As String
Dim MyVar As Variant
Dim MyBln As Boolean
Dim MyObj As Range
 
'===============================
'Range("A1") 값 = 1
'===============================
 
MyInt = Range("A1")
MyLng = Range("A1")
MyDbl = Range("A1")
MyStr = Range("A1")
MyVar = Range("A1")
MyBln = Range("A1")
Set MyObj = Range("A1")
 
MsgBox "Integer: " & MyInt
MsgBox "Long: " & MyLng
MsgBox "Double: " & MyDbl
MsgBox "String: " & MyStr
MsgBox "Variant: " & MyVar
MsgBox "Boolean: " & MyBln
MsgBox "Object: " & MyObj.Value
 
MsgBox "Integer + Integer: " & MyInt + MyInt
MsgBox "Double + Double: " & MyDbl + MyDbl
MsgBox "String + String: " & MyStr + MyStr
MsgBox "Variant + String: " & MyStr + MyVar
 
End Sub

2. VBA 명령문 코드 분석

2-A. 변수 지정

Dim 명령문으로 각 변수를 알맞은 데이터타입에 맞춰 선언합니다.

Dim [변수명] As [데이터타입]

각 데이터타입에 대한 자세한 설명은 이전 강의 엑셀 VBA에서 자주 사용하는 데이터타입 7가지를 참고하세요.

Dim MyInt As Integer
Dim MyLng As Long
Dim MyDbl As Double
Dim MyStr As String
Dim MyVar As Variant
Dim MyBln As Boolean
Dim MyObj As Range
2-B. 지정된 변수에 데이터 할당

선언한 각 변수에 데이터(예제에서는 A1 셀의 값)를 할당합니다.

일반적인 데이터타입(숫자·문자)은 등호(=) 만으로 값을 할당하지만, 그 외의 데이터타입(주로 개체[Object] 타입)은 반드시 Set 키워드로 값을 할당해야 합니다.

Dim과 Set으로 개체 변수를 다루는 자세한 방법은 이후 강의에서 다룹니다.

MyInt = Range("A1")
MyLng = Range("A1")
MyDbl = Range("A1")
MyStr = Range("A1")
MyVar = Range("A1")
MyBln = Range("A1")
Set MyObj = Range("A1")

3. 각 변수를 메세지박스로 출력

MsgBox(메시지박스 출력 함수)로 각 변수에 할당된 값을 메시지창에 출력합니다.

MsgBox 함수에는 다양한 속성값이 있지만, 별도의 속성값을 입력하지 않아도 아래와 같이 짧은 문구만으로 간단히 사용할 수 있습니다.

Msgbox "원하는 내용 입력"

[ & ] 연산자를 사용하면 직접 입력한 문자열(""안의 내용)과 변수에 할당된 값을 함께 묶어 출력할 수 있습니다.

MsgBox "Integer: " & MyInt
MsgBox "Long: " & MyLng
MsgBox "Double: " & MyDbl
MsgBox "String: " & MyStr
MsgBox "Variant: " & MyVar
MsgBox "Boolean: " & MyBln
댓글 10
5 (7개 평가)
seung-woo back
seung-woo back 2019.09.13 10:28
안녕하세요 오빠두님 유튜부를통해 재밌게보고있습니다.
여기에 질문을 드려도 답변이 달리지는 모르겠지만 답답한 마음에 올려봅니다.

시청자수가 나날이 늘고있어서 보시기는 힘드시겠지만 우연히라도 보셨으면 좋겠네요..

Sub 테스트_매크로()
Dim PTNo As String 'PTNo로 지정하고 싶은것은 셀안에 숫자 4자리입니다.'
PTNo = Range("V10")

Range("A12:V10000").Select
Selection.AutoFilter

ActiveSheet.Range("$A$12:$V$10000").AutoFilter Field:=4, Criteria1:="*PTNo*"
'엑셀 자동필터에서 "*텍스트*"로 입력하면 텍스트를 포함한 내용들이 필터링 되더군요. 그래서 PTNo라는 변수의 V10 셀값을 포함하는 필터링을 하고싶은데 잘되지않는군요... 방법을 알 수 있을까요?

ActiveSheet.Range("$A$12:$V$10000").AutoFilter Field:=22, Criteria1:="오빠두"
Range("D13:D10000").Select
With Selection.Font '빨강
.Color = -16776961
.TintAndShade = 0
End With
Range("$A$12").Select
ActiveWindow.ScrollRow = 1
End Sub
오빠두엑셀
오빠두엑셀 2019.09.13 10:36
안녕하세요?:)
Criteria를 Variant 의 배열형태로 만들어보세요.
Dim PTNo as variant

PTNO(0) = Range("V10")

감사합니다!
seung-woo back
seung-woo back 2019.12.24 03:47
안녕하세요 오빠두님 유튜부를통해 재밌게보고있습니다.
여기에 질문을 드려도 답변이 달리지는 모르겠지만 답답한 마음에 올려봅니다.

시청자수가 나날이 늘고있어서 보시기는 힘드시겠지만 우연히라도 보셨으면 좋겠네요..

Sub 테스트_매크로()
Dim PTNo As String 'PTNo로 지정하고 싶은것은 셀안에 숫자 4자리입니다.'
PTNo = Range("V10")

Range("A12:V10000").Select
Selection.AutoFilter

ActiveSheet.Range("$A$12:$V$10000").AutoFilter Field:=4, Criteria1:="*PTNo*"
'엑셀 자동필터에서 "*텍스트*"로 입력하면 텍스트를 포함한 내용들이 필터링 되더군요. 그래서 PTNo라는 변수의 V10 셀값을 포함하는 필터링을 하고싶은데 잘되지않는군요... 방법을 알 수 있을까요?


ActiveSheet.Range("$A$12:$V$10000").AutoFilter Field:=22, Criteria1:="오빠두"
Range("D13:D10000").Select
With Selection.Font '빨강
.Color = -16776961
.TintAndShade = 0
End With
Range("$A$12").Select
ActiveWindow.ScrollRow = 1
End Sub
dozi****
dozi**** 2020.11.16 21:49
친절한 동영상과 강의 내용까지 다 공개해주셔서 감사합니다.
sinbal
sinbal 2021.03.29 10:48
항상 유익하게 보고 있습니다. 감사합니다
learn_xlsx
learn_xlsx 2021.04.20 08:40
감사합니다. 잘 배우고 있습니다.
언리미트
언리미트 2021.07.21 08:17
가입 전부터 실속 있는 도움 잘 받고 있습니다. 감사합니다.
몽해
몽해 2022.08.06 19:17
잘 보았습니다
감사합니다.
해비
해비 2023.04.18 01:18
감사합니다.
강민준🤗
강민준🤗 2024.08.09 13:58
좋은 정보 감사합니다