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

엑셀 VBA 변수 지정 및 데이터타입 설정 :: 코딩의 시작

실전예제로 VBA 편집기를 실행한 뒤 각각의 변수를 지정하고 데이터타입을 설정합니다.

# VBA

작성자 :
오빠두엑셀
최종 수정일 : 2021. 11. 10. 22:00
URL 복사
메모 남기기 : (10)

| 엑셀 VBA 기초 강의 1-4 편 | 엑셀 VBA 변수 지정과 데이터타입 설정 예제 |

실습파일 무료E-Book 강의 PPT파일 완성파일
첨부파일에 이상이 생겼을 경우, 1:1 문의하기로 연락주시면 신속히 해결해드리겠습니다. 

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 셀에 있는 값)을 할당합니다.

: 일반적인 데이터타입 (숫자/문자) 는 SET을 이용하지 않지만, 그 이외의 데이터타입 (보통 개체[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

더 자세한 내용은 오빠두엑셀 VBA 1-4 영상강의를 참조해주세요!

댓글 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
좋은 정보 감사합니다