컴알못/VBA
[VBA] 변수 타입과 범위
난프로
2023. 8. 22. 21:13
변수는 프로그램 내에서 데이터를 저장하고 처리하는 데 중요한 역할을 합니다. 이 글에서는 VBA에서 변수를 선언할 때 고려해야 할 변수 타입과 변수를 선언할 수 있는 범위에 대해 자세히 알아보겠습니다.
1. 다양한 VBA 변수 타입:
변수 타입 | 설명 | 사용 예 |
---|---|---|
Integer | 정수 값을 저장 | Dim age As Integer |
Long | 큰 정수 값을 저장 | Dim population As Long |
Double | 실수 값을 저장 | Dim pi As Double |
String | 문자열 값을 저장 | Dim name As String |
Boolean | True 또는 False 값을 저장 | Dim isFound As Boolean |
Date | 날짜와 시간 값을 저장 | Dim currentDate As Date |
Object | 모든 VBA 객체를 저장 | Dim worksheet As Object |
Variant | 모든 데이터 타입을 저장 | Dim value As Variant |
2. 변수 선언 범위:
선언 범위 | 설명 | 사용 예 |
---|---|---|
Dim | 지역 변수로 프로시저 내에서 사용 가능 | Dim count As Integer |
Private | 모듈 내에서 비공개 변수로 사용 가능 | Private totalAmount As Double |
Public | 프로젝트 전체에서 접근 가능한 변수로 공유 | Public companyName As String |
2-1. VBA 코드의 구조
용어 | 설명 |
---|---|
프로시저 | VBA 코드의 실행 단위로 작업을 수행하는 코드 블록입니다. |
- Sub 프로시저 | 코드의 논리를 그룹화하고 특정 작업을 수행하는 서브루틴입니다. |
- Function 프로시저 | 값을 반환하며, 수식을 계산하거나 데이터를 가공합니다. |
모듈 | 프로시저의 논리적인 그룹으로 코드 블록들을 담습니다. |
프로젝트 | 모듈의 조합으로 구성되며, 여러 모듈이 함께 작동하여 실행됩니다. |
3. 변수 타입 및 선언 범위 선택 시 고려 사항:
- 명시적인 타입 선택: 변수를 선언할 때, 가능한한 명시적인 데이터 타입을 선택하세요. (Option Explicit) 이렇게 하면 코드의 가독성과 유지 보수성이 향상됩니다.
- 적절한 범위 선택: 변수의 사용 범위에 따라 적절한 범위 (Dim, Private, Public)를 선택하세요. 변수의 공유 여부에 따라 적절한 범위를 선택합니다.
- 메모리 고려: 메모리 사용량이 중요한 경우, 가능한한 메모리를 절약할 수 있는 적절한 데이터 타입을 선택하세요. Variant는 어떤 타입의 데이터라도 저장 할 수 있지만 모든 변수를 Variant로 선언하지는 않습니다.
- 타입 안정성: 코드에서 발생할 수 있는 타입 관련 오류를 최소화하기 위해 명시적인 데이터 타입을 사용하세요.
- 성능 고려: 코드의 실행 속도를 향상시키기 위해 적절한 데이터 타입을 선택하세요. Variant보다 명시적인 데이터 타입이 더 빠른 실행 속도를 제공할 수 있습니다.