VBA의 Variant 유형의 기본

6078 단어 VBA

Variant 형이란?



VBA의 Variant 유형은 데이터 유형을 선언하지 않는 변수에 사용하는 데이터 유형입니다.
Variant 형의 변수에는, 모든 데이터형을 넣을 수가 있습니다.

Variant 형의 변수에는 다른 형태의 데이터를 대입할 수 있다



다음 예제와 같이 변수 a는 먼저 숫자 형식을 할당한 다음 문자열 형식을 할당합니다. 따라서 Variant 유형의 변수는 첫 번째 데이터 유형에 관계없이 모든 데이터 유형에 할당 할 수 있습니다.
Option Explicit

Sub Sample()

Dim a As Variant
a = 1

'VarTypeは指定した変数のデータ型を返す関数
MsgBox VarType(a)   '2を表示。2はInteger(整数型)を表す

a = "AAA"
MsgBox VarType(a)   '8を表示。8はString(文字列型)を表す

End Sub

Variant 형의 변수에는 배열을 대입할 수 있다



Variant 형 이외의 경우, 배열은 「변수명()」으로 선언해, 값을 대입합니다.
Option Explicit

Sub Sample()

Dim list(3) As String
list(0) = "東京"
list(1) = "大阪"
list(2) = "福岡"
Range("A1").Value = list(0)
Range("A2").Value = list(1)
Range("A3").Value = list(2)

End Sub
'A1セル:東京
'B1セル:大阪
'C1セル:福岡

Variant 형의 경우, 배열을 「변수명()」으로 선언하는 방법과, 「변수명()」을 사용하지 않고 선언하는 방법이 있습니다. 후자의 경우 후속 처리에서 Array 함수를 사용합니다.
Option Explicit

Sub Sample()

Dim list As Variant
list = Array("東京", "大阪", "福岡")
Range("A1").Value = list(0)
Range("A2").Value = list(1)
Range("A3").Value = list(2)

End Sub

'A1セル:東京
'B1セル:大阪
'C1セル:福岡

Variant 형의 변수는 연상 배열을 대입할 수 있다



연관 배열은 열과 행을 가진 배열입니다.
Variatn형의 변수를 사용하면, 하나의 변수에 복수 범위의 셀의 값을 통째로 대입할 수 있습니다.
Option Explicit

Sub Sample()
Dim list As Variant
list = Range("A1:C3")
Range("A10:C12").Value = list

End Sub

원래는 다음 상태입니다.


VBA를 실행하면 Variant 유형의 변수 목록에 넣은 값이 A10 ~ C12에 할당됩니다.

좋은 웹페이지 즐겨찾기