특정 셀에 특정 값을 입력하면 msgbox 띄우기 (매크로 트리거)
VBA
작성자
509
작성일
2022-07-07 01:45
조회
98
예를 들어, [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
이렇게 코드를 작성해보았는데, 전혀 구동되지 않아요 ...ㅠ
왜 구동되지 않을까요?
오류가 있거나, 다른 트리거가 있으면 알려주세용~!
전체 7,322
번호 | 카테고리 | 제목 | 작성자 | 작성일 | 추천 | 조회 |
[🏆 VBA 4주 완성 특별 스터디] 1기 - 우수 졸업생 및 후기, 축하합니다! (5)
![]() ![]() |
![]() ![]() |
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 몇 일 이후의 날짜 계산 오류
![]() ![]() |
![]() |
10:01 | 1 | 15 |
41064 | 함수/공식 |
New 카운트관련 3번째 질의 드립니다. ㅠㅠ
![]() ![]() |
![]() |
09:29 | - | 17 |
41061 | 함수/공식 |
New 월별로 해당하는 건수를 계산하고 싶어요
![]() ![]() |
![]() |
2022.08.10 | - | 40 |
41060 | 피벗테이블 |
New 합계, 개수로 각각 다른 값의 피벗테이블을 만들었으나 동일한 응시율이 표시되는 이유???
![]() ![]() |
![]() |
2022.08.10 | - | 37 |
41058 | 함수/공식 |
New Excel 2019 수식 FILTER
![]() ![]() |
![]() |
2022.08.10 | - | 46 |
41052 | VBA |
New 특정문자 제거
(2)
답변완료
![]() |
![]() |
2022.08.10 | - | 49 |
41046 | 함수/공식 |
New 마지막 셀 이동을 위한 Match 함수에서 문자열과 선택옵션 -1의 의미
(1)
![]() |
![]() |
2022.08.10 | - | 49 |
41042 | 함수/공식 |
New 월 수 일할 계산 가능할까요?
(2)
![]() |
![]() |
2022.08.10 | - | 48 |
41037 | 파워쿼리/피벗 |
New 쿼리에서 줄바꾸기가를 다른 기호로 바꿀 방법이 있을까요?
(3)
![]() |
![]() |
2022.08.10 | - | 48 |
41035 | 함수/공식 |
New countif 함수를 써서 동일한 값 색칠하려고 하는데 조건이 2개입니다 ㅠㅠ 도와주세요
![]() ![]() ![]() |
![]() |
2022.08.10 | - | 55 |
41024 | VBA |
New 무엇을 공부해야 만들 수 있을까요??
![]() ![]() |
![]() |
2022.08.09 | - | 72 |
41023 | 함수/공식 |
New 엑셀 반입 반출 list를 만들고 싶습니다. 근데 어떻게 해야할지 감이 안옵니다.
![]() ![]() ![]() |
![]() |
2022.08.09 | 1 | 86 |
41017 | 함수/공식 |
New 카운트 관련 추가질의 드립니다.
![]() ![]() |
![]() |
2022.08.09 | 1 | 52 |
41013 | VBA |
New 특정 셀에서 데이터 찾아내어 다른시트로 복사
![]() |
![]() |
2022.08.09 | -4 | 62 |
41010 | 문서서식 |
New 사용자 서식 지정 된 셀을 보이는 값 그대로 입력값을 바꾸고 싶어요/ 또는 중간 숫자를 셀서식없이 바꾸고 싶어요
![]() ![]() |
![]() |
2022.08.09 | - | 48 |
41007 | VBA |
New 체크박스를 이용한 PDF파일 저장 문제관련
![]() ![]() |
![]() |
2022.08.09 | - | 42 |
41003 | 함수/공식 |
New 다른 셀값 복사된 셀에 내용을 추가 입력하는 방법
![]() ![]() |
![]() |
2022.08.09 | - | 48 |
41002 | 함수/공식 |
New 월별 제품 판매 수량과 제품별 사용 부품을 통한 월별 부품 사용 수량 구하기
![]() ![]() |
![]() |
2022.08.09 | - | 53 |
40995 | 함수/공식 |
New 해당 요일이 주말일 경우 평일로 날짜를 출력하는 방법
![]() ![]() |
![]() |
2022.08.09 | - | 53 |
40994 | 함수/공식 |
New 다른 시트의 품목을 불러와 그 값을 비교하는 방법
(6)
답변완료
![]() |
![]() |
2022.08.09 | 1 | 58 |
40993 | 함수/공식 |
New 다른시트 데이터 가져오기
![]() ![]() |
![]() |
2022.08.09 | - | 74 |
40987 | VBA |
New 선택한 셀 근처에 차트 나타내기
![]() ![]() ![]() |
![]() |
2022.08.08 | - | 42 |
40982 | VBA |
New 입력 수량에 따른 버튼 또는 레이블 생성
![]() ![]() |
![]() |
2022.08.08 | -2 | 54 |
40974 | 함수/공식 |
New 사과를 치면 옆 셀에 과일로, 배추를 치면 옆 셀에 야채로 넣는 방법
![]() ![]() |
![]() |
2022.08.08 | - | 76 |
40971 | 기능/도구 |
New 이름 정의 범위 선택시 에러 발생
![]() ![]() ![]() |
![]() |
2022.08.08 | - | 54 |
40966 | 함수/공식 |
New TEXTJOIN함수에서 대싱 셀값이 0일때 JOIN안되게 하는 방법
(8)
답변완료
![]() |
![]() |
2022.08.08 | - | 66 |
40963 | 함수/공식 |
New 특정문자가 포함된 여러 셀값을 특정문자 별로 정리하고 싶습니다.
![]() ![]() |
![]() |
2022.08.08 | - | 50 |
40961 | 기능/도구 |
New G메일로 받은 내용 중 회신시간이 늦은 메일들을 엑셀로 관리할 수 있는 방법이 있을까요 ?
(1)
![]() |
![]() |
2022.08.08 | - | 54 |
40960 | 기능/도구 |
New 보안경고 안뜨게 설정하려면 어떻게 옵션을 설정해야 하나요?
![]() ![]() |
![]() |
2022.08.08 | - | 39 |
40958 | 차트/그래프 |
New 그래프 가로 축 레이블 설정 부분
![]() ![]() |
![]() |
2022.08.08 | - | 45 |
@509 님 아래 스크립트는 제가 사용하는 WorkSheet_Change 이벤트 프러시저의 표준 스크립트입니다.
Target 인수의 의미는 해당 시트에서 내가 지금 입력/수정/삭제 등 변경을 한 셀 범위를 말합니다. 따라서 Set문으로 별도로 할당하지 않습니다.
그리고 Target 셀이 내가 원하는 곳이 아닐 경우 이 이벤트가 실행되지 않도록 Intersect와 조건문을 적절히 달아줘야 합니다. 또한 에러가 발생할 경우 에러 핸들러(ErrHandler)도 필요합니다. 이벤트가 한 번만 실행되도록 하지 않으면 자칫 무한루프에 빠져 엑셀이 다운되기 때문에 구문 위 아래에 EnableEvents를 설정해줍니다. EnableEvents는 엑셀 전체의 설정을 변경하는 의미이기 때문에 일시 중지시켰다가 에러 등의 이유로 프러시저가 강제 중단되어 다시 복원되지 않으면 그 다음 이벤트는 실행되지 않습니다.
이벤트 프러시져를 처음 접하시는 거라면 아래 동영상이 도움이 될 겁니다.