컴알못/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. 변수 타입 및 선언 범위 선택 시 고려 사항:

  1. 명시적인 타입 선택: 변수를 선언할 때, 가능한한 명시적인 데이터 타입을 선택하세요. (Option Explicit) 이렇게 하면 코드의 가독성과 유지 보수성이 향상됩니다.
  2. 적절한 범위 선택: 변수의 사용 범위에 따라 적절한 범위 (Dim, Private, Public)를 선택하세요. 변수의 공유 여부에 따라 적절한 범위를 선택합니다.
  3. 메모리 고려: 메모리 사용량이 중요한 경우, 가능한한 메모리를 절약할 수 있는 적절한 데이터 타입을 선택하세요. Variant는 어떤 타입의 데이터라도 저장 할 수 있지만 모든 변수를 Variant로 선언하지는 않습니다.
  4. 타입 안정성: 코드에서 발생할 수 있는 타입 관련 오류를 최소화하기 위해 명시적인 데이터 타입을 사용하세요.
  5. 성능 고려: 코드의 실행 속도를 향상시키기 위해 적절한 데이터 타입을 선택하세요. Variant보다 명시적인 데이터 타입이 더 빠른 실행 속도를 제공할 수 있습니다.