-
VBA 유튜브 학습기 9 - 엑셀 열고 닫을 때 팝업 띄우기! 오픈, 클로즈 이벤트 (feat. 파워 문과 기획자)공부하는 노예/VBA(유튜브 무료 강의) 2021. 4. 9. 08:16728x90
벌써 엑사남 님 강의 9강까지 왔습니다.
사실 한 7강쯤 고비가 왔었어요.
전 이거 공부하려고 아침에 한 시간씩 회사에 일찍 나오거든요.
그런데 부쩍
늙는지더 자고 싶고, 자도 자도 피곤하고.... 내가 이걸 이 나이에 배워서 어디 써먹을 순 있을까.....그런 잡생각을 하다 마음을 다잡았습니다.
9강은 가벼운 내용을 배웠어요.
엑사남 님 좀 강약 조절의 신 같은 느낌🥕
엑셀을 열고 닫을 때 팝업 메시지를 띄우는 방법에 대한 내용입니다.
엑사남 님은 이걸 회사에서 마음에 드는 사람이 있으면 써 먹어 보라고 하시는데 회사에 그런 사람이 있다면 제가 매일 춤 추면서 출근했겠죠.....🤬
앞서 배울 때처럼 일단 Alt + F11을 눌러서 VBA 편집 창을 열고요.
그동안은 계속 [삽입] - [모듈]을 기계적으로 눌러 왔는데 이번엔 아닙니다!
빨간 네모 부분 더블 클릭 VBA 편집 창 왼쪽 VBA 프로젝트 부분에서 [현재_통합_문서]를 더블 클릭을 합니다.
그럼 이렇게 창이 하나 새로 열리는데요.
거기서 위쪽의 [(일반)] 부분을 누르시면 이렇게 드롭 다운 방식으로 [Workbook]이라는 걸 선택할 수 있게 펼쳐져요.
Workbook을 선택합니다.
그럼 이렇게 창에 무언가가 자동으로 작성됩니다.
"워크북의 오픈"에 대한 내용이란 뜻인 거 같네요. (추측.... 아니 거의 억측)
위쪽의 오른쪽 창의 드롭 다운 메뉴를 펼쳐 보면 뭐가 되게 많이 나와요.
이게 다 엑셀에서 실행시킬 수 있는 이벤트의 목록이라고 하네요.
이과의 정석이라 생각한 엑셀에 이런 갬성적인 이벤트라니....😘
VBA 코드 작성하듯 이렇게 코드를 작성해서 넣어 봅니다.
Private Sub Workbook_Open()
MsgBox "안녕하세요, 반가워요."
End Sub이건 '오픈' 이벤트이기 때문에 엑셀을 열 때 확인할 수가 있어요.
그러니 다른 이름으로 파일을 저장해 줍니다.
이때 꼭 xlsm 형식으로 저장해야 해요. 안 그러면 작성한 코드가 모두 날아갑니다.
저장하고, 파일을 닫은 다음에 다시 열어 보면!
이렇게 메시지 박스가 뜨는 걸 볼 수 있어요. 뭔가 귀엽네요.
닫을 때도 메시지 박스를 띄워 봅니다.
이벤트 목록 중에 [BeforeClose]를 선택하고요.(닫기 전 이벤트... 뭐 대충 그런 뜻)
Private Sub Workbook_BeforeClose(Cancel As Boolean)
MsgBox "일은 다 한 거지?"
End Sub자동으로 입력된 코드 사이에 이렇게 메시지 박스를 띄우는 코드를 추가해 줍니다.
그리고 [닫기] 버튼을 눌러 볼게요.
입력해 둔 메시지 박스가 잘 나타나네요.
메시지 박스의 질문에 Yes 또는 No를 선택할 수 있게 해 볼까요?
코드를 이렇게 작성합니다.
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If MsgBox("일은 다 한 거지?", vbYesNo) = vbNo Then
MsgBox "야근 당첨!"
Cancel = True
End If
End SubvbYesNo는 전에 한 번 슬쩍 배우긴 했습니다.
메시지 박스에 대해 Yes 또는 No로 선택할 수 있도록 해 주는 코드인데요. 자주 쓰일 거 같으니 외워 봅니다.
If문과 결합시켜서 vbYesNo가 vbNo일 때는 메시지 박스에 "야근 당첨!" 이라고 나타나게 했습니다.
Cancel = True
이 부분은 "vbNo일 경우엔 닫기를 취소시켜라." (닫기를 취소하는 게 트루이다.) 그런 의미라네요.
* If문 사용하면 End If 닫는 거 잊지 마세요. 저 End If 안 닫아서 계속 뭣이 어쩌고 저쩐다고 오류 창 나타났는데 눈치 채는 데 오래 걸려서 승질났거든요.
작성한 대로 실행되는지 테스트해 봅니다.
[닫기] 버튼 누르면
이렇게 메시지 박스가 나타나고요.
여기서 [아니요(N)]를 누르면
이렇게 "야근 당첨!"이란 메시지 박스가 나타납니다.
직장인 피 어쩔 수 없는지 메시지 박스 내용도 참 파워 직장인스럽네요.
하지만 전 오늘 야근하지 않을 거예요. 금요일이잖아요!!
주말에 1강부터 9강까지 한 번 복습해 보고
(과연 할까?)다음 주 월요일부터 10강 달리러 갑니다~반응형'공부하는 노예 > VBA(유튜브 무료 강의)' 카테고리의 다른 글
VBA 유튜브 학습기 11 - 선택한 셀, 범위, 행의 컬러(채우기 색) 바뀌게 하는 방법 (0) 2021.04.15 VBA 유튜브 학습기 10 - 오픈 이벤트와 유저폼으로 엑셀에 로그인 창 만들기 (0) 2021.04.13 VBA 유튜브 학습기 8 - 전체 지우기, 서식 지우기, 값만 지우기, 행과 열 삭제하기, IF문과 FOR문으로 삭제하기(feat. 파워 문과 기획자) (0) 2021.04.08 VBA 유튜브 학습기 7 - 자동 복사, 붙여넣기의 모든 것(feat. 파워 문과 기획자) (0) 2021.04.05 VBA 유튜브 학습기 6 - 입력된 값이 변할 때마다 테이터에서 해당 값을 찾아 서식 적용하기 (0) 2021.04.02