입고/출고 등 정해진 조건값을 잘 못 입력하게 되면 추후에 데이터를 집계할 때 불편한 일이 발생하게 됩니다.
그렇기 때문에 입력조건에 '제한'을 줘서 의도한대로 입력되도록 만들어주겠습니다.
이렇게 조건을 걸어주면
요롷게 선택 버튼이 만들어지게 되면서
지정된 값에서 벗어난 값을 적으면
"이 셀에 정의된 유효성 검사 제한에 부합하지 않습니다"라고 나오게 됩니다.
이 방식은 클릭할게 다소 많기 떄문에,
VBA를 통해 좀 더 간결하게 만들어보겠습니다.
매크로 기록을 통해, 색상의 코드를 따주고,
클릭에 따라서, 값이 변경되게 바꿔주면
버튼 클릭에 따라 값이 변경됩니다.(리엑트나, 플러터의 onclick과 비슷하네요)
(아 ! 매크로 지정해주는 것은 잊으면 안됩니다)
품목을 선택하기 편하도록
별도의 테이블을 만들어서 관리한다면
이렇게 데이터셋을 만들 수 있을 것이고,
이 데이터를 편리하게 불러오려면
삽입- 사용자 정의폼을 활용해줍니다.
RowScouce: 품목관리!A2:B21
Column count : 2
ColumnHead: True
이제 데이터셋은 준비되었으니,
데이터를 받을 매크로를 만들어줍니다.
도형까지 만들어서, 품목코드&품목명 자리에 놓고, 채움&윤곽선을 없애고 매크로를 지정하면,
클릭 할 때 유저폼을 불러오게 됩니다.
유저폼 안에 리스트 박스를 더블클릭하면,
설정창이 나오게 되는데
여기서 우측상단에 DBcLICK을 선택해주면,
LIST방식 안에 담긴 값을 더블 클릭했을 때의 모션을 만들 수 있게 됩니다.
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean) [C8] = ListBox1.List(ListBox1.ListIndex, 0) [C9] = ListBox1.List(ListBox1.ListIndex, 1) End Sub