[VBA]데이터 형식

모든 프로그래밍 언어에는 자신들만의 데이터 형식을 갖고 있다.

다음은 엑셀의 도움말에 있는 내용이다.

데이터 형식저장 용량범위
Byte1바이트0부터 255까지
Boolean2바이트True 또는 False
Integer 2바이트-32,768부터 32,767까지
Long
(긴 정수)
4바이트-2,147,483,648부터 2,147,483,647까지
Single
(단정도 부동 소수점)
4바이트-3.402823E38부터 -1.401298E-45까지(음수값). 1.401298E-45부터 3.402823E38까지(양수값)
Double
(배정도 부동 소수점)
8바이트-1.79769313486232E308부터
-4.94065645841247E-324까지(음수값). 4.94065645841247E-324부터 1.79769313486232E308까지(양수값)
Currency
(정수 값 잘림)
8바이트-922,337,203,685,477.5808부터 922,337,203,685,477.5807까지
Decimal14바이트+/-79,228,162,514,264,337,593,543,950,335(소수점 이하 없음);
+/-7.9228162514264337593543950335(숫자의 오른쪽으로부터 28번째); +/-0.0000000000000000000000000001(0이 아닌 최소 숫자)
Date8바이트100년 1월 1일부터 9999년 10월 31까지
Object4바이트모든 개체 참조
String
(가변 길이)
10바이트 +문자열 길이0부터 약 20억까지
String
(고정 길이)
문자열 길이1부터 약 65,400까지
Variant
(숫자)
16바이트Double형 범위 내의 모든 숫자
Variant
(문자)
22바이트 + 문자열 길이변수 길이 String과 같은 범위
사용자 정의 형식
(Type 사용)
요소가 사용하는 숫자해당 데이터 형식의 범위값과 각 요소의 범위값이 같음

메모 모든 데이터 형식의 배열은 20바이트 + 각 차원당 4바이트 + 데이터 자체가 차지하는 바이트 만큼의 메모리를 차지하며, 각 항목의 수에 항목의 크기를 곱하면 데이터가 차지하는 메모리의 용량을 구할 수 있습니다. 예를 들면 2바이트를 차지하는 4개의 Integer 데이터 요소로 된 1차원 배열은 8바이트를 차지합니다. 데이터의 8바이트와 오버헤드 24바이트를 더하면 배열에 필요한 메모리 양은 32바이트가 됩니다.

Variant는 배열 자체보다 12바이트를 더 차지하는 배열을 가지고 있습니다.

메모 StrConv 함수는 문자열 데이터를 다른 형식의 문자열 데이터로 변환할 때 사용된다.

도움말 끝

<개인 생각>

개인적으로 실수는 Double을, 엑셀의 셀을 참조하기 위한 행, 열 관련 변수는 Long으로 하는 것이 좋다.