VBA 변형 | Excel VBA에서 Variant 데이터 형식을 선언하는 방법은 무엇입니까?

Excel VBA 변형 데이터 형식

VBA의 Variant 데이터 유형은 모든 종류의 데이터 유형을 보유 할 수있는 범용 데이터 유형이지만 데이터 유형을 할당하는 동안 "Variant"라는 단어를 사용해야합니다.

우리는 모두 VBA 프로젝트에서 변수가 얼마나 중요한지 알고 있습니다. 변수가 선언되면 선언 된 변수에 데이터 유형을 할당해야합니다. VBA의 데이터 유형 할당은 선언 된 변수에 할당해야하는 데이터의 종류에 따라 다릅니다.

예를 들어 아래 코드를보십시오.

위의 코드에서는 변수를 "IntegerNumber" 로 선언 하고 데이터 유형을 "Integer" 로 할당했습니다 .

데이터 유형을 변수에 할당하기 전에 변수의 한계를 알아야합니다. 데이터 유형을 정수로 지정했기 때문에 내 변수는 -32768에서 32767까지의 숫자를 보유 할 수 있습니다.

데이터 유형 제한의 한계를 초과하면 오류가 발생합니다. 따라서 32767 이상의 값을 저장하려면 32767 이상의 값을 저장할 수있는 다른 데이터 유형을 할당해야합니다.

이 한계를 극복하기 위해 우리는 "Variant"범용 데이터 유형을 가지고 있습니다. 이 기사에서는 Variant 데이터 유형에 대한 완전한 가이드를 보여줍니다.

Variant 데이터 유형을 선언하는 방법?

변형 데이터 유형을 일반적인 데이터 유형으로 선언 할 수 있지만 데이터 유형을 할당하는 동안 "Variant"라는 단어를 사용해야합니다.

암호:

 Sub Variant_Example1 () Dim MyNumber As Variant End Sub 

이것은 변수가 모든 종류의 데이터를 작동하도록 만듭니다. 숫자, 문자열, 날짜 및 기타 많은 것을 할당 할 수 있습니다.

아래는 동일한 데모입니다.

암호:

 Sub Variant_Example1 () Dim MonthName As Variant Dim MyDate As Variant Dim MyNumber As Variant Dim MyName As Variant MonthName = "January"MyDate = "24-04-2019"MyNumber = 4563 MyName = "My Name is Excel VBA"End Sub 

위에서 나는 변수에 날짜, 변수에 숫자, 변수에 문자열을 할당했습니다. 따라서 Variant 데이터 유형을 사용하면 저장하거나 할당 할 데이터의 종류에 대해 걱정할 필요가 없습니다.

변수를 Variant로 선언하자마자 코딩하는 동안 프로젝트 중간 어딘가에 데이터 유형에 대해 걱정할 필요가 없습니다. 이것은 변수가 우리의 필요에 따라 유연하게 작동하도록합니다. 아마도 단일 변수를 사용하여 전체 프로젝트에서 작업을 수행 할 수 있습니다.

VBA 변형에는 명시적인 방법이 필요하지 않습니다.

VBA 변수를 선언하는 일반적인 절차는 먼저 변수의 이름을 지정한 다음 데이터 유형을 할당하는 것입니다. 아래는 동일한 예입니다.

이것은 변수를 명시 적으로 선언하는 방법입니다. 그러나 Variant 데이터 유형을 선언 할 때 명시 적으로 선언 할 필요는 없지만 변수의 이름을 지정하고 데이터 유형 부분을 생략 할 수 있습니다.

암호:

 Sub Variant_Example1 () Dim MyNumber End Sub 

위의 코드에서 변수 이름을 "MyNumber"로 지정했지만 변수 이름을 지정한 후에는 어떤 종류의 데이터 유형도 할당하지 않았습니다.

데이터 유형 할당 부분을 무시하는 순간 변수가 Variant가되므로 As [Data Type Name] 부분은 생략했습니다.

기억해야 할 사항

"Variant"데이터 유형이 데이터에 유연하더라도 저장하려는 데이터 유형은 널리 사용되지 않습니다. 이상해 보이지만 절대적으로 사실입니다. 사람들을 사용하는 특별한 이유가 없다면이 데이터 유형을 사용하지 마십시오. 다음은 Variant 사용을 피하는 몇 가지 이유입니다.

  • 모든 데이터 불일치 오류를 무시합니다.
  • 변형 데이터 유형은 IntelliSense 목록에 대한 액세스를 제한합니다.
  • VBA는 항상 최상의 데이터 유형을 추측하고 그에 따라 할당합니다.
  • In the case of Integer data type limit Variant data type doesn’t notify us the moment it crosses 32767 limits.