엑셀/엑셀 매크로 사무자동화 코드
입고, 출고 시 재고 자동 업데이트-코드제공,파일제공(복붙용)
내일도화이팅
2023. 7. 17. 20:29
※ 제 코드와 파일은 상업적 이용, 개인적 이용이 모두 가능합니다. 다만, 게시판이나 블로그에 업로드할 목적이라면 꼭 출처를 남겨주시기바랍니다.
안녕하세요. 저번시간엔 입고와 출고시 견적서의 데이터만으로 자동으로 데이터를 입력하는 것에 대해 얘기했죠?
오늘은 입고와 출고를 할 경우 보유하고 있던 재고가 자동으로 변화하는 프로그램을 만들어보겠습니다.
우선 영상부터 보시죠.
영상잘보셨나요?
영상에서 보신 것처럼 입고견적서의 데이터를 갱신하기 위해 갱신 버튼을 누르면 재고가 +되고,
출고견적서의 데이터를 갱신하기 위해 갱신 버튼을 누르면 재고가 -되는데요.
견적서에 중복된 데이터가 있으면 그 두개의 합만큼 재고가 늘어나거나 줄어드는 것도 보실 수 있습니다.
거두절미하고 코드부터 공개할게요.
1. 입고시 재고 갱신 코드
Sub 입고재고갱신()
Dim count_inven As Integer
count_inven = 3
Do While (Not IsEmpty(Worksheets("재고관리").Cells(count_inven, 2).Value))
count_inven = count_inven + 1
Loop
For i = 3 To 100
For j = 3 To count_inven - 1
If Worksheets("재고관리").Cells(j, 2).Value Like Worksheets("입고견적서").Cells(i, 3).Value Then
Worksheets("재고관리").Cells(j, 3).Value = Worksheets("재고관리").Cells(j, 3).Value + Worksheets("입고견적서").Cells(i, 5).Value
Exit For
End If
Next j
Next i
End Sub
2. 출고시 재고 갱신 코드
Sub 출고재고갱신()
Dim count_inven As Integer
count_inven = 3
Do While (Not IsEmpty(Worksheets("재고관리").Cells(count_inven, 2).Value))
count_inven = count_inven + 1
Loop
For i = 3 To 100
For j = 3 To count_inven - 1
If Worksheets("재고관리").Cells(j, 2).Value Like Worksheets("출고견적서").Cells(i, 3).Value Then
Worksheets("재고관리").Cells(j, 3).Value = Worksheets("재고관리").Cells(j, 3).Value - Worksheets("출고견적서").Cells(i, 5).Value
Exit For
End If
Next j
Next i
End Sub
위 코드들은 입고와 출고시 재고를 자동으로 바꿔주는 코드인데요.
꼭 필요한 과정이 하나 더 있습니다.
3. 입고견적서입력코드 수정
Sub 입고견적서입력()
Dim input_data As String
Dim data As Integer
data = 3
Do While (Cells(data, "B").Value <> "")
data = data + 1
Loop
input_data = "B" & Trim(Str(data)) & ":" & "E" & Trim(Str(data + 100))
Range(input_data).Value = Worksheets("입고견적서").Range("B3:E100").Value
' 새로 추가된 코드
Call 입고재고갱신
End Sub
4. 출고견적서입력코드 수정
Sub 출고견적서입력()
Dim input_data As String
Dim data As Integer
data = 3
Do While (Cells(data, "B").Value <> "")
data = data + 1
Loop
input_data = "B" & Trim(Str(data)) & ":" & "E" & Trim(Str(data + 100))
Range(input_data).Value = Worksheets("출고견적서").Range("B3:E100").Value
' 새로 추가된 코드
Call 출고재고갱신
End Sub
바로 Call이 추가되었습니다. 입고시 재고 갱신코드와 출고시 재고 갱신 코드 그리고 Call이 무엇을 의미하고 왜 사용했는지는 아래의 이해파트에서 설명드릴게요.
도움이 되셨다면 댓글과 좋아요 부탁드립니다.
모든 질문과 피드백 환영입니다.
1. 매크로 지정 방법 링크
https://ksm30546.tistory.com/11
2. 코드 이해 링크
https://ksm30546.tistory.com/16