|
앞에 댓글에 지적한 바와 같이
이 경우에 목록상자 양식 콘트롤보다는
데이터유효성검사를 활용하는 것이 훨씬 깔끔하고
굳이 VB 코드를 짤 필요조차 없습니다.
붙임 파일 참고해 보시기 바랍니다.
일단 MAIN 시트에 양식콘트롤들을 모두 유효성검사로 교체하였습니다.
그리고, 날짜 입력과 수량 입력에도 유효성검사를 적용하였습니다.
버튼은 하나면 해결되고
코드도 간결해집니다.
유효성 목록으로 입고, 출고, 폐기 등이 직접 입력되므로
종전 프로그램처럼 수치로 바뀐 연결 셀에서 다시 문자열을 검색하여 찾아올 필요가 없어지지요.
한편, DATA 시트에서도 동일하게 유효성검사를 직접 적용하게 되면
오히려 MAIN 시트에서 별도로 입력하여 옮겨 적는 것보다도
훨씬 효율적이고 깔끔할 수 있습니다.
물론 VB 코드가 없어도 됩니다.
DATA1 시트에서는 조금 더 개선하여
수량을 그냥 F열에 입력하면
엑셀이 함수로 판단하여 G~I열에 분류되도록 설계하였습니다.
어떤 행에 입력이 시작되면 순번 행번호와 G~I열의 수식이 자동 생성되도록
워크시트 개체에 Worksheet_Change 이벤트핸들러를 설계해 두었으니
참고해 보시기 바랍니다.
==============[조삿갓님 글에 대한 답변입니다]==============
처음 조언해주신대로 제 나름대로 다시 만들었는데 유효성검사를 적용했고 날짜도 수정했습니다
다만 대량입력을 위해서 입력란을 12행으로 만들었는데 DATA시트에서 순번이 제대로 적용이 안되네요
순번이 위에 전체합과 부분합은 필터를 사용하기 위해서 추가로 적용한것이구요 그래서인지 순번도 틀어지고 행도 추가해서 그런지 적용이 잘 안됩니다.
수정해주시면 감사하겠습니다
만들어주신 새파일은 아직 저한테는 어렵네요 열심히 공부하겠습니다
새파일로도 12행이상을 적용할 수 있으면 더욱 감사하구요 |
|