본문 바로가기

컴퓨터강의

⚡ 7단원 - 이벤트 프로그래밍

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에 작성해야 해요!

  1. Project 창에서 ThisWorkbook 더블 클릭
  2. 아래 코드 입력

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