엑셀 VBA(매크로) - 변수 선언
본문 바로가기
엑셀 컴퓨터 인터넷/엑셀 VBA

엑셀 VBA(매크로) - 변수 선언

by 만초손겸수익 2020. 11. 6.

VBA는 자연어에 가까운 언어라 속도가 다른언어에 비해 느립니다.

 

조금이라도 빠르게 하시고 싶으시면 해당 되는 변수를 선언해 주시고 코드를 작성하시면 됩니다.

 

 

'변수선언'이란 그릇의 크기를 정하는 것이라고 생각하시면 됩니다. 알맞은 Data의 크기만큼 변수를 선언하시면 불필요한 메모리의 낭비를 줄일 수 있습니다.(파이썬은 변수가 자동으로 할당되는데, VBA는 선언하게끔 만들어 졌더라구요.)

 

변수선언은 "Dim" + "변수명" + "as" + 데이터 형태로 지정하시면 됩니다.

 

예를들어 정수형은 "Dim intA as Integer" 이렇게 지정 하시면 됩니다. 여기서 변수명은 아무렇게나 지정하셔도 상관이 없는데, 코드가 길어지면 헷갈리니깐 저는 앞에 Data형을 알아볼 수 있게 지정합니다.

 

예를들어 Worksheet면 "shA", "Workbook"이면 "wbA" 이런식으로요. 

 

개인적으로 제가 많이 사용하는 데이터형은 "Integer", "Worksheet", "Range", "String" 정도가 되겠네요. 가끔씩 "Variant"도 사용합니다.

 

Data Type 형식 메모리할당 값 범위
Integer 숫자(정수) 2바이트 -32768 ~ 32767
Long 숫자(정수) 4바이트 -2147483648 ~ 2147483647
Double 숫자(실수) 8바이트 -1.79769313486231570 e308 ~ -4.9406564584126544 e-324
4.94065645841246544 e-324 ~ 1.7969313486231570 e308
Date 날짜/시간 8바이트 1900년 1월 1일 ~ 9999년 12월 31일(날짜)
00:00:00 ~ 23:59:59(시간)
String 문자 문자길이 0~20억 유니코드문자
Object 개체 4바이트 참조값
Variant 가변데이터(숫자) 16바이트 데이터형식 미지정시 사용
Variant 가변데이터(문자) 22바이트
+문자길이
0~20억 유니코드 문자

 

외우실 필요 없어요. 어차피 본인한테 필요한 것만 쓰다보면 저절로 익혀져요. 안 쓰는건 그닥 필요가 없는걸로...

728x90
반응형

댓글