300x250
반응형
SMALL
📌 이벤트 프로그래밍이란?
예를 들어:
- 시트가 열리면 자동으로 안내 메시지 띄우기
- 셀 값이 바뀌면 자동으로 계산 실행
- 워크북을 저장할 때 백업 자동 생성
📂 이벤트 코드는 어디에 작성하나요?
VBA 편집기(VBE)에서 왼쪽 Project 창 → 해당 시트 더블클릭
예: Sheet1 (Sheet1) 클릭 → 오른쪽 코드 창에 입력
🧪 예제 1: 셀 값 바뀌면 메시지 출력
Private Sub Worksheet_Change(ByVal Target As Range)
MsgBox "값이 변경되었습니다: " & Target.Address
End Sub
▶ Sheet1에서 어떤 셀 값이 바뀌면 바로 메시지가 뜹니다!
🧪 예제 2: 특정 셀(A1)이 바뀌면 색깔 변경
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
Range("A1").Interior.Color = RGB(200, 255, 200)
End If
End Sub
▶ A1 셀을 수정하면 자동으로 연두색 배경이 돼요!
🧪 예제 3: 시트 열릴 때 팝업
이번엔 ThisWorkbook에 작성해야 해요!
- Project 창에서 ThisWorkbook 더블 클릭
- 아래 코드 입력
Private Sub Workbook_Open()
MsgBox "차차 VBA 시리즈에 오신 것을 환영합니다!"
End Sub
▶ 파일을 열면 자동으로 메시지가 나옵니다 😄
⚠️ 이벤트 코드 주의사항
- 코드가 무한루프에 빠지지 않도록 주의 (셀 변경 → 또다시 변경 반복 등)
- 필요 시 이벤트 끄기 →
Application.EnableEvents = False
- 코드 끝나면 반드시 다시 켜기 →
Application.EnableEvents = True
🧪 안전한 코드 예시
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Not Intersect(Target, Range("A1")) Is Nothing Then
Range("A1").Value = UCase(Target.Value) ' 대문자로 변경
End If
Application.EnableEvents = True
End Sub
📚 오늘의 정리
- 이벤트 프로그래밍은 “자동 반응”을 만드는 기술
- 시트/통합문서의 이벤트를 감지하여 처리
- 셀 변경, 시트 열기, 저장 등 다양한 이벤트 존재!
다음 시간엔 UserForm(사용자 입력 폼)을 만들어서 더 인터랙티브한 자동화를 해볼 거예요 🎨
👉 8편: 폼(UserForm) 만들기, 기대해주세요!
728x90
반응형
LIST
'컴퓨터강의' 카테고리의 다른 글
🗂 9단원 - 파일 및 외부 데이터 처리 (56) | 2025.04.23 |
---|---|
🧾 8단원 - UserForm 만들기 (49) | 2025.04.22 |
📄 6단원 - 셀 제어 및 워크시트 조작 (56) | 2025.04.20 |
🧠 5단원 - Sub와 Function 만들기 (59) | 2025.04.19 |
🔁 4단원 - 조건문과 반복문 (52) | 2025.04.18 |