마침내 데이터 유효성 검사와 INDIRECT 함수를 사용하여 Excel에서 동적 계단식 목록 집합을 작성하는 방법을 알아냈습니다. 그러나 문제가 발생했습니다.
데이터 유효성 검사 목록이 변경될 때마다 모든 후속 목록이 기본값으로 설정되도록 스프레드시트를 설정하고 싶습니다. 예를 들어:
List1, List2, List3, List4가 있다고 가정해 보겠습니다. 각 목록의 값은 이전 목록에서 선택한 항목에 따라 달라집니다. 스프레드시트를 시작할 때 모든 목록의 기본값을 "ALL"로 설정하고 싶습니다. 사용자가 List1에서 값을 선택하면 List2는 유효한 선택 항목 집합으로 업데이트됩니다. List2를 해당 선택 사항 중 하나로 기본 설정하고 싶습니다. 그러나 List2가 올바른 선택 옵션 세트로 채워지도록 할 수는 있지만 원하는 기본값을 List2에 할당할 수는 없습니다.
마찬가지로 사용자가 List1, List2 및 List3에서 항목을 선택한 다음 다시 돌아가서 List1을 변경하는 경우 List2-List4의 기본값을 다시 "ALL"로 설정하고 싶습니다.
어떻게 해야 하나요?
답변1
이 문제에 대해 내가 사용하는 비VBA 방법은 현재 값이 현재 INDIRECT() 참조 범위의 값과 일치하는지 확인하는 후속 셀에 조건부 서식을 적용하는 것입니다. 그렇지 않은 경우 셀이 빨간색으로 바뀌거나 값이 사라져(글꼴/배경과 일치) 사용자는 해당 셀의 값을 업데이트/다시 선택해야 함을 알 수 있습니다.
이를 설명하기 위해(그리고 위에서 다른 사람들이 언급한 VBA 방법) 다음이 있습니다.샘플 파일은 여기. 원하시는 파일은종속목록3.xls