VBA 특정 셀 문자내용에 따라 다른 셀이 변경되도록 가능하려면..
VBA
작성자
사가
작성일
2021-01-17 14:25
조회
5507
안녕하세요 먼저 이런 질/답 게시판을 만들어주셔서 감사드립니다.
다름이 아니라 VBA 로 다음과 같은걸 구현하고 싶은데 VBA 는 초보라서 어찌 해야 할지 모르겠어서
문의를 드립니다.
완전 초보니까 실제 실행이 가능한 코드로 알려주시면 감사하겠습니다.
A1 셀이 데이터 유효성 검사 메뉴에서 만들어진 드롭리스트 박스이고 리스트 항목으로는 AAA, BBB, CCC 가 있습니다.
이때 리스트 항목중 AAA 가 선택되면 B1 셀에 문자 YYY 가 자동으로 입력되어지고
다시 리스트 항목중 BBB가 선택이 되면 B1 셀에 문자 ZZZ 가 자동으로 입력되어지고
리스트 항목중 CCC 가 선택이 되거나 선택된것이 없다면 B1 셀은 빈셀이어야 합니다.
매크로 버튼을 눌러서 하는게 아니라 A1 셀의 리스트에서 뭐가 선택되어지냐에 따라
B1 의 값에 다른 값이 자동으로 입력되어지는것이죠..
** 리스트항목 맨위에는 빈행이 하나 있고 그다음에 AAA, BBB, CCC가 있습니다.
미리 감사드립니다.~
전체 18,535
번호 | 카테고리 | 제목 | 작성자 | 작성일 | 추천 | 조회 |
[📚진짜쓰는 실무엑셀] IT/오피스 '1위' 베스트셀러! 엑셀 공부, 이 교재로 마스터하세요! (315)
![]() ![]() |
![]() ![]() |
2022.02.03 | 575 | 610157 | ||
공지사항 | 문서서식 |
⭐ [더 나은 커뮤니티 문화를 위한 Q&A 글 작성 규칙] ⭐
(197)
오빠두엑셀
|
2021.10.28
|
추천 310
|
조회 35598
|
![]() ![]() |
2021.10.28 | 310 | 35598 |
78587 | 기능/도구 |
New 클립보드 오류
![]() ![]() |
![]() |
11:25 | - | 7 |
78586 | 함수/공식 |
New (초보 질문) 15분별-데이터를 1시간별-데이터로 SUMIFS 하는데, 일부 오류 발생 구간이 있습니다.
![]() ![]() ![]() |
![]() |
09:48 | - | 22 |
78584 | 구글시트 |
New 같은 값에 색으로 표시하기
![]() ![]() |
![]() |
09:24 | - | 31 |
78582 | 함수/공식 |
New 조건 함수 의 관한 문의
![]() ![]() ![]() |
![]() |
2025.05.13 | - | 76 |
78580 |
New 날짜와 시간 분할 방법 알려 주세요
![]() ![]() ![]() |
![]() |
2025.05.13 | - | 72 | |
78575 | VBA |
New 엑셀 재고관리 프로그램 문의드립니다..
![]() ![]() |
![]() |
2025.05.13 | - | 101 |
78570 | 대시보드 |
New 대시보드에 표 형식으로 표현도 가능한가요?
![]() ![]() |
![]() |
2025.05.12 | - | 100 |
78569 | 함수/공식 |
New 서로 다른 양식의 견적서 엑셀 파일 한곳에 정리 하기
(5)
![]() |
![]() |
2025.05.12 | - | 119 |
78565 | 함수/공식 |
New 검색보고서 만들기 질문드립니다.
![]() ![]() |
![]() |
2025.05.12 | - | 97 |
78563 | VBA |
New VBA 수정 부탁드립니다. ㅠ
(8)
![]() |
![]() |
2025.05.12 | - | 98 |
78560 | 함수/공식 |
New 어떻게 내용을 가져올수 있을지 고수님들의 해결방법들을 공유 받고 싶습니다!!....
![]() ![]() ![]() |
![]() |
2025.05.12 | - | 56 |
78559 | 파워쿼리/피벗 |
New 엑셀 자동화 질문 입니다...
![]() ![]() |
![]() |
2025.05.12 | - | 83 |
78555 | 함수/공식 |
New 시트에서 원하는 열의 자료만 가져오고싶은데 아무리 해도 수식오류가 나서 도움을 구하고자 합니다
![]() ![]() |
![]() |
2025.05.12 | - | 52 |
78554 | 함수/공식 |
New 변동하는 절대참조값 적용
(6)
답변완료
![]() |
![]() |
2025.05.12 | - | 75 |
78553 | 대시보드 |
New 대시보드_슬라이서 자동으로 눌러지게 하는방법
![]() ![]() |
![]() |
2025.05.12 | - | 59 |
78548 | 대시보드 |
New 어떤 엑셀을 적용해야하는 지 문의드립니다!
(1)
![]() |
![]() |
2025.05.11 | - | 77 |
78546 | 함수/공식 |
New 월별 매출액 자동입력할 수 있는 방법 또는 함수 궁금합니다!
![]() ![]() |
![]() |
2025.05.11 | - | 100 |
78544 | 함수/공식 |
New 중복값 제거 함수에 관하여
![]() ![]() ![]() |
![]() |
2025.05.11 | - | 86 |
78543 | 함수/공식 |
New 데이터 추출 및 정렬관련 초보질문
![]() ![]() ![]() |
![]() |
2025.05.11 | - | 83 |
78540 | 함수/공식 |
New 오빠두LIVE 219회 - 엑셀 '셀 병합' 자동화 보고서 만들기 오빠두엑셀님의 방법이 궁금합니다.
![]() ![]() |
![]() |
2025.05.10 | - | 69 |
78536 | 함수/공식 |
New 월별로 금액적용후 최종월에 차액을 가감 함수가 필요해요
![]() ![]() |
![]() |
2025.05.10 | - | 72 |
78535 | 기능/도구 |
New 엑셀로 25x25 인쇄가 가능한가요?
(1)
![]() |
![]() |
2025.05.10 | - | 57 |
78534 | 파워쿼리/피벗 |
New 쿼리에 함수 적용한 열 추가 시 24:00:00 활용한 계산 함수 필요할 때.
![]() ![]() |
![]() |
2025.05.10 | - | 74 |
78531 | 차트/그래프 |
New 엑셀 차트 데이터테이블
![]() ![]() ![]() |
![]() |
2025.05.09 | - | 84 |
78530 | 구글시트 |
New 구글 스프레드시트 함수 관련 질문입니다.
![]() ![]() ![]() |
![]() |
2025.05.09 | - | 73 |
78528 | 구글시트 |
New 구글 스프레드시트를 외부 엑셀 파일과 연동하는 방법이 궁금합니다.
(3)
![]() |
![]() |
2025.05.09 | - | 77 |
78525 | 문서서식 |
New 업무가 진행이 안 될 정도로, 해당 파일이 느립니다!
![]() ![]() |
![]() |
2025.05.09 | - | 103 |
78520 | 기능/도구 |
New 하이퍼링크 명칭 해제
(1)
![]() |
![]() |
2025.05.09 | - | 61 |
78518 | 피벗테이블 |
New 피벗테이블 관련 화살표 질문
![]() ![]() |
![]() |
2025.05.09 | - | 57 |
78516 | 함수/공식 |
New 호봉산정 엑셀 문의드립니다.
![]() ![]() ![]() |
![]() |
2025.05.08 | - | 68 |
@사가 님 첨부파일 확인해보세요.
첨부파일 : 답변2.xlsm
@수이니 님 답변 주신걸 이제야 확인 했습니다 감사합니다 !~ 복 많이 받으세요!~
@사가 님 반드시 vba를 사용하셔야 되는건가요?
간단히 함수로 가능할것 같습니다.
B1 셀에 아래 수식을 입력해보세요.
=IF(A1="AAA","YYY",IF(A1="BBB","ZZZ",IF(A1="CCC","","")))
@수이니 님 답변 감사합니다 그런데 b1 셀은 사용자가 수기 입력하는 경우도 있기 때문에 b1 에는 수식이 있으면 안됩니다..그래서 vba 로 원하는것이구요 ^^ ~~
@사가 님 vba로 하신다면 해당시트의 체인지 이벤트로 아래 코드를 넣으시면 될것같아요.
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
If Target.Value = "" Then
Cells(Target.Row, 2) = ""
ElseIf Target.Value = "AAA" Then
Cells(Target.Row, 2) = "YYY"
ElseIf Target.Value = "BBB" Then
Cells(Target.Row, 2) = "ZZZ"
ElseIf Target.Value = "CCC" Then
Cells(Target.Row, 2) = ""
End If
End If
End Sub
@수이니 님 흠~
개발자도구 > 삽입 > 모듈을 선택후 적어주신 소스를 붙혀넣기 하면 되야 하는거 아닌가요?
그런데 붙혀넣기 후 A1 에 AAA 를 입력해도 아무런 반응이 없네요 왜 그럴까요?
제가 잘 몰라서..ㅠㅠ
그리고 A1 A2 A3 에도 동일한 방식으로 되야 하는데...A2도 동일하게 되게 하려면
적어주신 If Target.Column = 1 Then 을 If Target.Column = 2 Then 로 추가 하고 남어지 부분은
동일하게 하면 되는걸까요?
참! 중요한게..제가 예시되는 셀을 A1 이라고 했지만 C4 부터 시작되서 C20까지 동일한 형식이어야 하는데..이럴때는
If Target.Column = 1 Then 이 부분을 수정해야할거 같은데 어떻게 해야 할까요?
하~~ 너무 몰라서 ... 답변주셔서 감사합니다!
@사가 님 모듈이 아니고 시트에 작성하셨어야 되는데... 첨부파일 확인해보세요.
첨부파일 : 답변.xlsm
@수이니 님 답변 감사합니다~~ 보내주신 파일로 해보니 제가 원하는 대로 되었습니다 그런데 !~ ㅠㅠ
그 드롭리스트 의 선택된 항목들 그러니까 AAA, BBB 를 일괄 삭제하고자 드래그 후 DELETE 버튼을
누르니 런타임 오류가 발생되는데 이건 어떻게 해결할 방법이 없을까요? ㅠㅠ
음..버튼을 만든후 버튼을 누르면 aaa,bbb,ccc 가 일괄 삭제되면 좋을거 같습니다 자꾸 요청드려서 죄송합니다