나눔터  
  HOME > 나눔터 > 묻고답하기 > 엑셀
엑셀
엑셀에 대한 질문과 답변을 올려주세요. 단, 취지에 맞지 않는 글은 운영자가 삭제합니다.
 "000 님, 도와주세요", "부탁 드립니다.", "급합니다!" 등과 같이 막연한 제목을 달지 말아주세요.
[필독] 빠르고 정확한 답변을 얻는 16가지 Tip !
[필독] 저작권법 개정에 따른 이용안내
작성자:  

 조삿갓 (choga21)

추천:  2
파일:     콤보박스.zip (50.7KB) 조회:  1979
제목:   [RE]콤보박스 해당 카테고리에 관련된 데이터만 선택할 수 있게...
     
  * 아래줄에 질문을 작성하세요 >>

입출고관리 하려고 열심히 만들어보고 있습니다만..

콤보박스로 고객사와 부서를 선택하면 

해당되는 고객사와 부서의 제품 코드만 선택할 수 있게 해보려하는데 

방법이 있을까요?

도움 부탁드립니다.


==============[이태윤님 글에 대한 답변입니다]==============

파일을 첨부하려고 하니 갑자기 이상한 현상이 발생하고
첨부가 안되네요. 그래서 압축해서 올려봅니다.

첨부파일 압축 해제 후 참고 바랍니다.
문제해결을 쉽게 하기 위해 시트구조를 조금 바꾸었습니다.

중간 계산값을 별도의 셀에 저장해 두고 활용하면
1) 실행 속도가 빨라집니다.
2) 수식을 간결하게 작성할 수 있으므로, 문제가 쉬워집니다.

추가 작성하거나 수정한 수식에는 음영배경을 넣었고
음영색이 같은 셀들은 동일한 수식을 복사한 것입니다.
즉 예를 들면 O6 셀에 잘 설계해서 입력한 수식을
O7 셀 아래로 쭈욱 복사한 것입니다.

데이터가 추가될 경우 추가된만큼
아래쪽으로 쭉 복사해서 쓰면 됩니다.

-----------------------------------

자료를 살펴보니
Customer를 선택함에 따라 Department 역시 선택이 제한되어야 하기에
동일한 원리를 적용하여 이 부분도 구현하였습니다.

-----------------------------------

그리고 각 선택 상황에 따라
선택지의 개수도 가변적이므로
경우에 따라서는 #N/A 오류가 나타납니다.

그러나 선택할 때에는 이 오류를 피하기 위해서
1) 각 양식 컨트롤의 입력범위를
   OFFSET 함수를 이용한 가변 범위로 지정하였습니다.
   이 때 OFFSET 함수를 컨트롤 서식에 직접 입력할 수 없으므로
   이름을 정의하여 간접 참조하도록 하였습니다.

2) 그리고 입력 중계 셀인 O4:P4 셀에 오류가 발생하면
   매크로 프로시저에서 이를 감시하여 선택 값을 1로 바꾸어 줍니다.
   (Module1의 Customer_Change, Dept_Change 프로시저)

------------------------------------

또 한 가지,
입출고 프로시저가 아주 비효율적입니다.
배열 변수를 활용하여 열번호 매칭테이블을 구성해 주면
반복루프로 코드를 간결하게 쓸 수 있습니다.

질문자께서 원래 작성하신 입출고_Old 프로시저와
수정한 입출고 프로시저를 비교해 보시기 바랍니다.
 
[불량 게시물 신고]  
이태윤정말 감사합니다
처음 해보는거라 미숙한게 많은데 큰 도움 주셔서 감사해요 
열심히 공부해야겠습니다
06-06 (12:57)
삭제 ■신고
        
  

작성일 : 2018-06-05(23:07)
최종수정일 : 2018-06-05(23:07)
 


 ◎ 관련글

  제 목   작성자   날짜
콤보박스 해당 카테고리에 관련된 데이터만 선택할 수 있게... 이태윤 2018-06-04
[RE]콤보박스 해당 카테고리에 관련된 데이터만 선택할 수 있게... 조삿갓 2018-06-05