[VB] 변수를 선언하는 Dim 기본 개념 정리

VB 혹은 VBA 에서 변수를 선언하는 Dim 에 대한 기본 개념을 정리해봅니다. 프로그래밍을 하면서 가장 기본이 아닐까 싶네요.

Dim: 변수 선언하기

VB 에서 변수를 선언하기 위해서는 Dim 이라는 명령어를 사용합니다. 기본 사용 방법은 아래와 같습니다.

Dim (변수명) As (변수의 데이터 형식)

명령어 뒤에 자신이 알아볼 수 있는 변수명을 넣어 주고 그 변수가 어떤 형식의 데이터인지 지정(As) 해주는 것입니다.

변수 선언 기본 방법

실제 예제를 보면 조금 더 이해하기 쉬울 것입니다.

Dim var As Double

var 라는 이름의 변수를 선언하는데 Double 형식으로 선언하는 것입니다.

Dim Foo As String, Bar As Double

Foo 라는 변수는 String(문자열) 형식으로 Bar 는 Double 형식으로 지정하는 것입니다.

배열 변수 선언하기

Dim Arr(0 To 20) As Double

Arr 이라는 21개의 원소를 가진 배열 변수를 선언 하는 것입니다. 배열 변수는 변수명 뒤에 괄호를 넣어 선언 할 수 있습니다. 각각의 원소는 Double 형식으로 선언 하였습니다.

참고로 위 배열 변수는 아래와 같이 선언할 수도 있습니다.

Dim Arr() As Double
ReDim Arr(0 To 20) As Double

먼저 크기를 특정하지 않은 배열 변수인 Arr() 를 선언하고, 그 다음 다시 한번 ReDim 을 이용해 배열 변수를 특정해주는 것입니다.

변수 형식의 종류

위 예제에서 Double, String 등의 데이터 형식이 등장 했습니다. VB 에서 사용할 수 있는 굉장히 많은 데이터 형식 중 많이 쓰이는 것들을 정리해 봅시다.

DataType Value Range
Boolean True or False
Date 날짜와 시간, 0001년 1월 1일 00:00:00 부터 9999년 12월 31일 11:59:59 까지
Integer 정수, -2,147,483,648 부터 2,147,483,647 까지
Double 실수
String 약 20억개의 유니코드 문자
Variant 값에 따라 유동적인 데이터 형식

더욱 다양한 데이터 형식은 참고자료의 2번 링크를 참고 하세요.

주의할 점

여러개의 변수를 하나의 Dim 으로 선언할 때 꼭 각 변수마다 데이터 형식을 지정해야 합니다.

Dim A, B As Double

위와 같이 변수를 선언할 경우 A 와 B 가 모두 Double 로 선언 될 것 같지만, 사실 A 는 Variant 로 B 는 Double 로 선언됩니다. 주로 하위 버전의 비주얼스튜디오나 엑셀의 VBA 에서 이런 경우가 발생합니다. 그래서 반드시 둘 다 Double 로 선언하고 싶다면 아래와 같이 선언해야 합니다.

Dim A As Double, B As Double

or

Dim A As Double
Dim B As Double
참고자료
  1. Dim Statement (Visual Basic), MSDN
  2. Data Type Summary (Visual Basic), MSDN