모두의매뉴얼
🚀

[VBA] 사용자 정의 자료형 변수(Type)를 초기화 하는 방법

📈7


회사에서 이래저래 개발을 하다가 Type 으로 선언한 “사용자 정의 자료형 변수”, 다시 말해서 Type 형 변수를 요긴하게 사용하고 있는데, For 문을 돌리다 보니 해당 변수를 초기화 해야 하는 상황이 왔습니다.

초기화가 필요한 상황 발생

그래서 이래저래 기존에 알고 있던 변수를 초기화 하는 방법으로 시도를 해보았습니다. 아래에서는 예시로 Stock1 이라는 Type 변수를 선언해서 사용하고 있다고 가정 했습니다.

Public Type Stock
    Dt as Date
    Price as Double 
End Type

' ... 작업 중

Dim Stock1 as Stock

' ... 작업 중

'초기화가 필요한 시점
    Set Stock1 = Nothing
    ReDim Stock1 as Stock
    Dim Stock1 as Stock

위에서 사용한 어떠한 방법도 전혀 원하는 대로 안 되더라구요.

이 간단한 작업이 도대체 왜 안 될까라는 의문이 드는 찰나에 문득 아이디어가 떠올랐습니다.

변수에 빈 변수 투입

위 예시 코드에서 Stock1 이라는 변수를 선언 했잖아요? 변수를 선언한다는 것 자체가 그 변수에 특정 값을 넣기 전까지는 초기의 상태, 즉, 값이 들어가 있지 않은 상태일거잖아요.

그렇다면 xStock 이라는 이름을 가진 더미 변수를 하나 더 선언해서 그 더미 변수에는 아무 값도 넣지 않고 있다가, Stock1 의 초기화가 필요할 때 Stock1xStock 을 넣으면 초기화가 되지 않을까? 라고 생각한 것입니다.

Public Type Stock
    Dt as Date
    Price as Double 
End Type

' ... 작업 중

Dim Stock1 as Stock
Dim xStock as Stock

' ... 작업 중

'초기화가 필요한 시점
    Stock1 = xStock

결론적으로는 잘 작동하는 것을 확인 했습니다.

별 것도 아닌데 왜 심플하게 만들어 주지 않은건지 모르겠네요.

끝.

    댓글 남기기

© 모두의매뉴얼 2024
🗝️