유저폼과 같은 것을 사용하거나
기타 다른 용도로 VBA 코드를 작성하고
프로그램을 실행할 때
엑셀 화면은 보이지 않게 하고
VBA로 작성한 프로그램만 보이게 하는 방법입니다.
이번 블로그에서는
유저폼을 하나 만들고
엑셀 매크로 파일 실행 시
엑셀 화면은 보이지않고
유저폼만 화면에 나타나게 하는 방법을 알아보겠습니다.
[ 유저폼 만들기 ]
먼저 유저폼을 하나 만들어 보겠습니다.
예시를 위한 유저폼이므로
별다른 설정 없이
기본 유저폼만 추가합니다.
Alt + F11을 눌러 VBA 편집기 실행 후
마우스 우클릭 후에
삽입 → 사용자 정의 폼을 눌러
사용자 정의폼을 추가합니다.
이렇게 추가하면 아래 그림과 같이 나타납니다.
폼 아래에 IserForm1이 추가 되었고
사용자 정의폼이 만들어졌습니다.
[ 엑셀 파일을 열 때 엑셀 화면 숨기기 ]
이제 아래 그림과 같이
모듈을 하나 추가합니다.
엑셀 파일이 열 때 자동으로 실행되는 코드를 작성해야합니다.
엑셀 파일이 열 때 자동으로 작동하는 코드를 만드는 방법은
아래 블로그를 참고하시면 됩니다.
엑셀 VBA 엑셀 파일을 열 때마다 첫 번째 시트가 선택되게 만들기 (tistory.com)
작성할 코드는 아래와 같습니다.
Private Sub Workbook_Open()
Application.Visible = False
UserForm1.Show
End Sub
이 코드는 엑셀 어플리케이션은 숨기고
UserForm을 화면에 보여주라는 의미입니다.
여기서 UserForm1은 기본으로 설정되는
UserForm의 이름입니다.
아래 그림과 같이 확인이 가능합니다.
그 다음 아래 그림의 사용자 정의폼을 더블클릭하면
사용자 정의폼에서 어떤 행동이 이루어 졌을 때
코드를 입력할 수 있습니다.
UserForm → QueryClose 를 선택하고 파란색 네모 부분은 지워줍니다.
그리고 아래와 같이 코드를 작성해줍니다.
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Application.Quit
End Sub
위 코드는
사용자 정의폼을 닫을 경우
엑셀도 같이 종료하라는 의미의 코드입니다.
이렇게 작성 후 파일을 xlsm 확장자로 저장하면 됩니다.
처음 실행하면 보안경고가 나타나지만
콘텐츠 사용을 누르면
아래 그림과 같이 사용자 정의폼이 나타나고
그 이후에는 바로 실행이 됩니다.
[ 코드 수정하기 ]
하지만 문제가 하나 생깁니다.
이렇게 하면 코드를 수정하고 싶을 때
엑셀 화면이 보이지 않아
코드를 수정할 수가 없습니다.
이럴 경우
먼저 엑셀을 실행한 후
VBA 편집기를 실행해 줍니다.
VBA 편집기 실행 후에
앞서 만들었던 파일을 불러옵니다.
그러면 엑셀 화면은 보이지 않지만
VBA 편집기는 그대로 남아있어
코드를 수정할 수 있습니다.
VBA 편집기에서 일시정지 버튼을 누르고 수정하시면 됩니다.
혹시 다른 더 좋은 방법이 있다면 댓글 부탁드립니다.
여기를 방문하시면 더 많은 엑셀 관련 자료를 확인할 수 있습니다.
'EXCEL VBA' 카테고리의 다른 글
엑셀 VBA에서 두 개의 범위가 겹치는 공통 셀 찾기 : Intersect 함수 (0) | 2024.08.16 |
---|---|
엑셀 VBA Application.Close 와 Application.Quit의 차이 (0) | 2024.08.14 |
엑셀 VBA Alt+F11 키가 제대로 동작하지 않을 경우 (0) | 2024.08.14 |
엑셀 VBA 버튼으로 값 입력하고, 비활성화 된 버튼 색 바꾸기(버튼 활성화 표시) (0) | 2024.08.09 |
엑셀 VBA의 'CurrentRegion'과 'UsedRange' 이해하기 (0) | 2024.08.08 |