특정 셀에 특정 값을 입력하면 msgbox 띄우기 (매크로 트리거)

VBA
작성자
509
작성일
2022-07-07 01:45
조회
98
엑셀버전 : 엑셀2019

운영체제 : 윈도우10

질문 요약 : 특정 셀에 특정 값을 입력하면 매크로가 실행되게 하는 방법을 모르겠어요!

예를 들어, [Sheet1] 시트 "A1"셀에 숫자가 입력되면, 입력된 숫자에 따라 메시지박스를 띄우려 합니다.

///// VBA 프로젝트 - Sheet1 /////

Sub worksheet_change(ByVal target As Range)

Set target = Range("A1")

Select case target.value

case 1

call macro1

case 2

call macro2

End select

End Sub

 

 

///// 모듈 /////

Sub Macro1

msgbox("1")

End Sub

 

Sub Macro2

msgbox("2")

End Sub

 

이렇게 코드를 작성해보았는데, 전혀 구동되지 않아요 ...ㅠ

왜 구동되지 않을까요?

오류가 있거나, 다른 트리거가 있으면 알려주세용~!

회원등급 : 2레벨
포인트 : 34 EP
총질문 : 1 개 (마감율 : 0%)
채택답변 : 0 개
전체 1

  • 2022-07-07 01:59

    @509 님 아래 스크립트는 제가 사용하는 WorkSheet_Change 이벤트 프러시저의 표준 스크립트입니다.

    Private Sub Worksheet_Change(ByVal Target As Range)
        '//표준 패턴
        If Target.Count > 1 Then Exit Sub
        If Not Intersect(Target, Range("A1:B5")) Is Nothing Then
            On Error Goto ErrHandler
    	Application.EnableEvents = False
    
            'To do
    
            Application.EnableEvents = True
        End If
    
    ErrHandler:
        Application.EnableEvents = True
    
    End Sub

    Target 인수의 의미는 해당 시트에서 내가 지금 입력/수정/삭제 등 변경을 한 셀 범위를 말합니다. 따라서 Set문으로 별도로 할당하지 않습니다.

    그리고 Target 셀이 내가 원하는 곳이 아닐 경우 이 이벤트가 실행되지 않도록 Intersect와 조건문을 적절히 달아줘야 합니다. 또한 에러가 발생할 경우 에러 핸들러(ErrHandler)도 필요합니다. 이벤트가 한 번만 실행되도록 하지 않으면 자칫 무한루프에 빠져 엑셀이 다운되기 때문에 구문 위 아래에 EnableEvents를 설정해줍니다. EnableEvents는 엑셀 전체의 설정을 변경하는 의미이기 때문에 일시 중지시켰다가 에러 등의 이유로 프러시저가 강제 중단되어 다시 복원되지 않으면 그 다음 이벤트는 실행되지 않습니다.

    이벤트 프러시져를 처음 접하시는 거라면 아래 동영상이 도움이 될 겁니다.


전체 7,322
번호 카테고리 제목 작성자 작성일 추천 조회
알림
[🏆 VBA 4주 완성 특별 스터디] 1기 - 우수 졸업생 및 후기, 축하합니다! (5)
오빠두엑셀 | 2022.07.31 | 추천 8 | 조회 1022
오빠두엑셀 2022.07.31 8 1022
공지사항 함수/공식
New [신규 기능 업데이트!] 👉 이제 게시글 작성시 스크린샷 복/붙이 가능합니다! 😎 (2)
오빠두엑셀 | 2022.08.04 | 추천 4 | 조회 85
오빠두엑셀 2022.08.04 4 85
공지사항 함수/공식
⭐ [더 나은 커뮤니티 문화를 위한 Q&A 글 작성 규칙] ⭐ (88)
오빠두엑셀 | 2021.10.28 | 추천 116 | 조회 6071
오빠두엑셀 2021.10.28 116 6071
41067 함수/공식
New 몇 일 이후의 날짜 계산 오류 첨부파일 (3) 답변완료
보라색양털 | 10:01 | 추천 1 | 조회 15
보라색양털 10:01 1 15
41064 함수/공식
New 카운트관련 3번째 질의 드립니다. ㅠㅠ 엑셀파일 (1)
Thekey_guy | 09:29 | 추천 0 | 조회 17
Thekey_guy 09:29 - 17
41061 함수/공식
New 월별로 해당하는 건수를 계산하고 싶어요 엑셀파일 (2)
꿈꾸는부자 | 2022.08.10 | 추천 0 | 조회 40
꿈꾸는부자 2022.08.10 - 40
41060 피벗테이블
New 합계, 개수로 각각 다른 값의 피벗테이블을 만들었으나 동일한 응시율이 표시되는 이유??? 엑셀파일 (1)
sky3**** | 2022.08.10 | 추천 0 | 조회 37
sky3**** 2022.08.10 - 37
41058 함수/공식
New Excel 2019 수식 FILTER 첨부파일 (1)
Merci getta | 2022.08.10 | 추천 0 | 조회 46
Merci getta 2022.08.10 - 46
41052 VBA
New 특정문자 제거 (2) 답변완료
천하무적 | 2022.08.10 | 추천 0 | 조회 49
천하무적 2022.08.10 - 49
41046 함수/공식
New 마지막 셀 이동을 위한 Match 함수에서 문자열과 선택옵션 -1의 의미 (1)
| 2022.08.10 | 추천 0 | 조회 49
2022.08.10 - 49
41042 함수/공식
New 월 수 일할 계산 가능할까요? (2)
치키치키 | 2022.08.10 | 추천 0 | 조회 48
치키치키 2022.08.10 - 48
41037 파워쿼리/피벗
New 쿼리에서 줄바꾸기가를 다른 기호로 바꿀 방법이 있을까요? (3)
지금 | 2022.08.10 | 추천 0 | 조회 48
지금 2022.08.10 - 48
41035 함수/공식
New countif 함수를 써서 동일한 값 색칠하려고 하는데 조건이 2개입니다 ㅠㅠ 도와주세요 엑셀파일첨부파일 (2)
| 2022.08.10 | 추천 0 | 조회 55
2022.08.10 - 55
41024 VBA
New 무엇을 공부해야 만들 수 있을까요?? 첨부파일 (1)
뚝이 | 2022.08.09 | 추천 0 | 조회 72
뚝이 2022.08.09 - 72
41023 함수/공식
New 엑셀 반입 반출 list를 만들고 싶습니다. 근데 어떻게 해야할지 감이 안옵니다. 엑셀파일첨부파일 (4)
| 2022.08.09 | 추천 1 | 조회 86
2022.08.09 1 86
41017 함수/공식
New 카운트 관련 추가질의 드립니다. 엑셀파일 (1)
Thekey_guy | 2022.08.09 | 추천 1 | 조회 52
Thekey_guy 2022.08.09 1 52
41013 VBA
New 특정 셀에서 데이터 찾아내어 다른시트로 복사
itaci | 2022.08.09 | 추천 -4 | 조회 62
itaci 2022.08.09 -4 62
41010 문서서식
New 사용자 서식 지정 된 셀을 보이는 값 그대로 입력값을 바꾸고 싶어요/ 또는 중간 숫자를 셀서식없이 바꾸고 싶어요 첨부파일 (6) 답변완료
바람개비 | 2022.08.09 | 추천 0 | 조회 48
바람개비 2022.08.09 - 48
41007 VBA
New 체크박스를 이용한 PDF파일 저장 문제관련 엑셀파일
qkznl**** | 2022.08.09 | 추천 0 | 조회 42
qkznl**** 2022.08.09 - 42
41003 함수/공식
New 다른 셀값 복사된 셀에 내용을 추가 입력하는 방법 첨부파일 (4) 답변완료
마운틴 | 2022.08.09 | 추천 0 | 조회 48
마운틴 2022.08.09 - 48
41002 함수/공식
New 월별 제품 판매 수량과 제품별 사용 부품을 통한 월별 부품 사용 수량 구하기 엑셀파일 (5)
SELIA | 2022.08.09 | 추천 0 | 조회 53
SELIA 2022.08.09 - 53
40995 함수/공식
New 해당 요일이 주말일 경우 평일로 날짜를 출력하는 방법 첨부파일 (2)
juyoun**** | 2022.08.09 | 추천 0 | 조회 53
juyoun**** 2022.08.09 - 53
40994 함수/공식
New 다른 시트의 품목을 불러와 그 값을 비교하는 방법 (6) 답변완료
콕콕이 | 2022.08.09 | 추천 1 | 조회 58
콕콕이 2022.08.09 1 58
40993 함수/공식
New 다른시트 데이터 가져오기 엑셀파일 (2) 답변완료
포에버하윤둥이 | 2022.08.09 | 추천 0 | 조회 74
포에버하윤둥이 2022.08.09 - 74
40987 VBA
New 선택한 셀 근처에 차트 나타내기 엑셀파일첨부파일 (1)
eexcell | 2022.08.08 | 추천 0 | 조회 42
eexcell 2022.08.08 - 42
40982 VBA
New 입력 수량에 따른 버튼 또는 레이블 생성 첨부파일 (2)
늙은베짱이 | 2022.08.08 | 추천 -2 | 조회 54
늙은베짱이 2022.08.08 -2 54
40974 함수/공식
New 사과를 치면 옆 셀에 과일로, 배추를 치면 옆 셀에 야채로 넣는 방법 첨부파일 (6) 답변완료
곡식창고 | 2022.08.08 | 추천 0 | 조회 76
곡식창고 2022.08.08 - 76
40971 기능/도구
New 이름 정의 범위 선택시 에러 발생 엑셀파일첨부파일 (2)
라운드티 | 2022.08.08 | 추천 0 | 조회 54
라운드티 2022.08.08 - 54
40966 함수/공식
New TEXTJOIN함수에서 대싱 셀값이 0일때 JOIN안되게 하는 방법 (8) 답변완료
마운틴 | 2022.08.08 | 추천 0 | 조회 66
마운틴 2022.08.08 - 66
40963 함수/공식
New 특정문자가 포함된 여러 셀값을 특정문자 별로 정리하고 싶습니다. 엑셀파일 (1)
rin**** | 2022.08.08 | 추천 0 | 조회 50
rin**** 2022.08.08 - 50
40961 기능/도구
New G메일로 받은 내용 중 회신시간이 늦은 메일들을 엑셀로 관리할 수 있는 방법이 있을까요 ? (1)
최사무엘 | 2022.08.08 | 추천 0 | 조회 54
최사무엘 2022.08.08 - 54
40960 기능/도구
New 보안경고 안뜨게 설정하려면 어떻게 옵션을 설정해야 하나요? 첨부파일 (2) 답변완료
니가가라 하와이 | 2022.08.08 | 추천 0 | 조회 39
니가가라 하와이 2022.08.08 - 39
40958 차트/그래프
New 그래프 가로 축 레이블 설정 부분 첨부파일 (1)
성호 | 2022.08.08 | 추천 0 | 조회 45
성호 2022.08.08 - 45