VBA 변수? 변수의 의미와 자료형, 변수에 데이터 넣는 방법은!?!?
데이터를 담는 그릇! 변수에 대한 기본적인 개념을 이해하면 vba코드를 쉽고 빠르게 정리할 수 있어요! "변수란 무엇인지?", "변수의 자료형은 어떠한 것들이 있는지?", "변수는 어떻게 사용하는지?"에 대해 알아보아요!
변수가 무엇인가요?
변수는 VBA뿐만 아니라 각종 프로그래밍 언어에서 사용되는 코딩의 기초 단위입니다. 변수는 사용자의 편의를 위해 특정 데이터를 사전에 담아두는 그릇이라고 생각하면 좋을 듯해요.
그럼 변수가 어떤 역할을 하는지 방정식의 원리를 통해 알아볼게요.
변수 : (1,2,3)
방정식 : y = x + 1
결과 : (2,3,4)
어떠신가요? 감이 조금 오시나요? 바로 변수로 가지고 있던 1,2,3의 숫자가 방정식 x에 들어간 결과로 2,3,4가 출력되는 것을 볼 수 있어요. 그렇다면 변수를 선언함으로써 우리가 얻는 것들은 무엇일까요? 변수의 장점을 크게 3가지로 정리할 수 있습니다.
첫째, 작성한 매크로를 더욱 효과적으로 구동할 수 있다는 점입니다.
변수를 지정하게 되면 코드가 실행됨과 동시에 컴퓨터의 메모리를 할당하게 되며, 이를 통해 처리속도를 높일 수 있습니다.
둘째, 코드 작성 시 오타 및 에러 발생 확률을 줄여준다는 점이에요.
변수를 지정하면 코드 작성 시 변수에 대한 "자동 채우기" 기능이 활성화되어 오타의 가능성을 줄여줍니다. 또한 개채 변수의 경우에는 사용되는 데이터 타입이 다양하므로, 변수 지정을 통해 각 속성을 쉽게 확인할 수 있죠.
셋째는 코드를 더욱 쉽고, 빠르고, 정확하게 작성할 수 있으며, 편집도 쉽게 할 수 있기 때문이에요.
변수를 체계적으로 할당하여야 하는 이유이며, 코드의 흐름을 쉽게 파악할 수 있다는 장점이 있어요.
변수의 자료형?
자료형은 변수의 타입을 지정함으로써 메모리에 할당해 주는 역할을 하며, 종류는 다음과 같아요.
자료형 변수는 이보다 훨씬 많지만... 많은 것을 안다고 해서 다 사용하지도 못할뿐더러 혼란만 가중될 수 있기 때문에 업무상 가장 많이 사용되는 자료형 위주로 살펴보았습니다. 그 외 필요한 변수형이 있다면 자료를 찾아가면서 그때그때 적용하시는 방법을 추천드립니다! 변수에 자료형을 알았다면... 변수를 어떻게 사용하는지 알아봐야겠죠?
VBA에서 변수 선언은 어떻게?
VBA에서의 변수 선언 방법은 다음과 같아요.
1. 복수의 변수를 선언
Dim 변수명 as 자료형
Dim 변수명 as 자료형
Dim 변수명 as 자료형, 변수명 as 자료형
2. 콤마(,)를 사용한 변수형은 주의가 필요해요!!
Dim 변수명 1, 변수명 2, 변수명 3 As Long
위 형태를 보면서 무엇이 다른지 감이 오시나요?? 1번 선언의 경우는 각각의 변수형에 자료형을 붙여준 형태로 일반적으로 사용되는 예시입니다. 다만, 2번의 경우는 약간의 주의가 필요한 경우인데요.
바로 자료형 선언이 변수명 3에만 있었기 때문에 변수명 3의 경우에만 Long타입의 자료형을 갖게 되고 변수명 1, 변수명 2의 경우에는 Variant형이 기본으로 적용된다는 점이에요!!
변수에 데이터를 넣는 방법은?
각 프로그래밍 언어마다 변수에 데이터를 넣는 법이 상이합니다만, 엑셀의 경우에는 데이터를 넣을 때 범용적으로 사용되는 "="를 채택하였네요. "=" 촤측으로 변수명이 입력되고, 오른쪽으로 담고 싶은 데이터를 넣게 됩니다.
EX) 변수명 = 10,000 → 변수에 10,000을 담음.
여기서 입력된 숫자의 자료형은 Integer 혹은 Long을 선언 후 변수에 대입하면 됩니다.
EX) Dim 변수명 As Long
변수명 = 10,000
변수를 꼭 지정해야 VBA가 작동할까?
결론부터 말씀드리면 VBA에 변수 지정여부는 상황에 따라 다릅니다. VBA의 경우 자동으로 변수를 할당해 주는 기능이 있기 때문이에요.
다만, Object타입은 사용자가 반드시 변수를 지정해 주어야 하며, VBA가 자동으로 변수 할당 시 데이터 타입이 정확하지 않거나 불필요한 메모리를 사용하게 되므로 변수는 가급적 직접 할당해 주는 것이 좋습니다.
마치며
지금까지 VBA에서 사용되는 변수에 대해 알아보았어요! 자료형의 경우 필요시 찾아보고 적용하면 되기 때문에 외울 필요까지는 없을 거 같아요. 추가로 궁금하신 점에 대해 댓글 남겨주시면 성의를 다해 답변드리도록 하겠습니다.
▼▼▼함께 보면 좋은 글▼▼▼
지금 투자하는 시간은 나를 자유롭게 만드는 시간이다.
댓글