이 글은 도움말을 번역한 내용입니다.
상수, 변수 또는 인수를 선언할 때 데이터 유형을 지정하지 않으면 Variant 데이터 유형이 자동으로 지정됩니다.
Sub Example()
Dim myVariable
myVariable = 10
Debug.Print "Data type of myVariable: " & VarType(myVariable)
myVariable = "Hello"
Debug.Print "Data type of myVariable: " & VarType(myVariable)
End Sub
2=Integer,8=String입니다.
Variant 데이터 유형으로 선언된 변수는 문자열, 날짜, 시간, 부울 또는 숫자 값을 포함할 수 있으며, 변수에 포함된 값을 자동으로 변환할 수 있습니다. 숫자 변수 값에는 16바이트의 메모리가 필요하며(대규모 프로시저나 복잡한 모듈에서만 중요함), 다른 유형의 명시적으로 입력된 변수보다 액세스 속도가 느립니다. 상수에 Variant 데이터 유형을 사용하는 경우는 거의 없습니다. 문자열 Variant 값에는 22바이트의 메모리가 필요합니다.
Sub ExampleAllDataTypesAsVariant()
Dim myVariant As Variant
' Integer
myVariant = 10
Debug.Print "Integer value: " & myVariant
' Long
myVariant = 1000000
Debug.Print "Long value: " & myVariant
' Single
myVariant = 3.14
Debug.Print "Single value: " & myVariant
' Double
myVariant = 123.456
Debug.Print "Double value: " & myVariant
' Currency
myVariant = 99.99
Debug.Print "Currency value: " & myVariant
' Date
myVariant = Date
Debug.Print "Date value: " & myVariant
' String
myVariant = "Hello, VBA!"
Debug.Print "String value: " & myVariant
' Object
Set myVariant = CreateObject("Scripting.Dictionary")
Debug.Print "Object value: " & TypeName(myVariant)
' Boolean
myVariant = True
Debug.Print "Boolean value: " & myVariant
' Null
myVariant = Null
Debug.Print "Null value: " & myVariant
' Empty
myVariant = Empty
Debug.Print "Empty value: " & myVariant
' Array
myVariant = Array(1, 2, 3)
Debug.Print "Array value: " & Join(myVariant, ", ")
End Sub
팁
변수 또는 인수의 데이터 유형을 지정한 다음 잘못된 데이터 유형을 사용하면 데이터 유형 오류가 발생합니다. 데이터 유형 오류를 방지하려면 암시적 변수(Variant 데이터 유형)만 사용하거나 모든 변수를 명시적으로 선언하고 데이터 유형을 지정하세요. 후자의 방법을 선호합니다.
Sub ExplicitDeclarationExample()
Dim myNumber As Integer ' 정수형 변수 선언
Dim myString As String ' 문자열 변수 선언
' 올바른 데이터 형식으로 값 할당
myNumber = 10
myString = "Hello"
' 변수에 맞지 않는 데이터 형식으로 값 할당 - 데이터 형식 오류 발생!
myNumber = "Hello" ' 에러 발생: Type mismatch
myString = 20 ' 에러 발생: Type mismatch
End Sub
도움말 출처
Understanding Variants (VBA)
Office VBA reference topic
learn.microsoft.com
'언어 참조' 카테고리의 다른 글
변수의 수명 이해 (0) | 2023.07.29 |
---|---|
범위와 가시성 이해하기 (0) | 2023.07.28 |
상수 선언 및 사용 (0) | 2023.07.28 |
데이터 타입을 효율적으로 사용하기 (0) | 2023.07.28 |
변수 선언 (0) | 2023.07.28 |