반응형
변수의 생명 주기를 결정하는 정적 키워드 Static 은 프로젝트가 재설정될 때까지 자신의 값을 그대로 유치합니다. 다시 컴파일을 하기 전까지는 변수의 값은 그대로 유지가 됩니다. 다음에 정적 변수를 사용할 때는 마지막에 입력된 값을 사용하게 되겠죠. 오늘은 변수에 Static 키워드를 설정했을 때와 일반 변수와의 차이점에 대해 알아 보도록 하겠습니다.
▼ 가장 일반적으로 사용하고 있는 함수 내에 변수 입니다. 함수 내에 사용하고 있는 변수일 경우 함수가 끝나면 초기화가 됩니다. 그림과 같이 sub1 이벤트가 계속해서 발생하더라도 val 이 지닌 값은 0으로 초기화가 됩니다.
▼ 다음은 val 변수를 정적변수로 만들어 보겠습니다. Dim 대신 Static 지시어로 바꾸는 것입니다. 처음 이벤트가 실행되면 초기값이 0 이 되고 함수가 끝나면 val 에는 10 이 저장됩니다. 다시 한번 더 함수를 실행합니다.
※ 아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다. ※ ▶ 엑셀 VBA 매크로 디버깅, 디버그 코드 분석하기 ▶ 엑셀 VBA 반복문 For Next 문 사용하기 ▶ 엑셀 VBA Function 와 Sub 프로시저의 차이점과 사용법 알아 보기 ▶ 엑셀 VBA 통합 문서 문서가 열리는 순간 기능 구현하기 ▶ 엑셀 VBA 각종 함수 사용법과 샘플 소스 쉽게 얻는 방법 |
▼ 계속해서 실행하게 되면 val 값은 마지막에 입력된 값에 데이터를 계속해서 더하게 됩니다. 함수 안에서 Static 을 정의했다고 해서 초기화가 되는 것은 아닙니다. 한번 변수가 생성되면 프로젝트 재설정 할 때까지 그대로 유지하게 됩니다.
▼ 모듈 수준의 변수를 지정해도 Static 과 같은 결과값을 얻을 수 있습니다. 이상으로 함수 내에서 일반 변수와 Static 변수의 차이점에 대해 알아 보았습니다.
※ 아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다. ※ ▶ 엑셀 VBA 매크로 디버깅, 디버그 코드 분석하기 ▶ 엑셀 VBA 반복문 For Next 문 사용하기 ▶ 엑셀 VBA Function 와 Sub 프로시저의 차이점과 사용법 알아 보기 ▶ 엑셀 VBA 통합 문서 문서가 열리는 순간 기능 구현하기 ▶ 엑셀 VBA 각종 함수 사용법과 샘플 소스 쉽게 얻는 방법 |
반응형
'엑셀(Excel) > VBA' 카테고리의 다른 글
엑셀 VBA 데이터 입력하는 텍스트 박스(Text Box) 사용하는 방법 (4) | 2024.11.02 |
---|---|
엑셀 VBA 함수 Now 현재 날짜 및 시간 반환하기 (1) | 2024.11.02 |
엑셀 VBA 셀을 병합하는 Merge 함수 사용하기 (1) | 2024.10.31 |
엑셀 VBA 작은 따옴표, apostrophe 일괄적으로 삭제하는 방법 (1) | 2024.10.25 |
엑셀 VBA 개별 파일 시트 복사해서 하나의 파일에 통합하기 (2) | 2024.10.23 |
엑셀 VBA 여러 시트 데이터 합치기 (18) | 2024.10.15 |
엑셀 VBA 상태바 STATUSBAR 정보 출력하기 (0) | 2024.10.12 |
엑셀 VBA 셀 색상 변경하는 두 가지 방법 (2) | 2024.10.12 |