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
반응형
'엑셀 컴퓨터 인터넷 > 엑셀 VBA' 카테고리의 다른 글
엑셀 VBA(매크로) - 자동으로 인쇄영역 설정하기 (0) | 2020.11.08 |
---|---|
엑셀 VBA(매크로) - 자동으로 선 그리기 (0) | 2020.11.07 |
엑셀 VBA(매크로) - 속도를 향상 시키기 (1) | 2020.11.05 |
엑셀VBA(매크로) - 셀에 음영넣기 (0) | 2020.11.02 |
엑셀VBA(매크로) - 시작하기 (0) | 2020.10.25 |
댓글