내일도 화이팅

입고, 출고 시 재고 자동 업데이트-코드제공,파일제공(복붙용) 본문

엑셀/엑셀 매크로 사무자동화 코드

입고, 출고 시 재고 자동 업데이트-코드제공,파일제공(복붙용)

내일도화이팅 2023. 7. 17. 20:29

※ 제 코드와 파일은 상업적 이용, 개인적 이용이 모두 가능합니다. 다만, 게시판이나 블로그에 업로드할 목적이라면 꼭 출처를 남겨주시기바랍니다.

재고관리프로그램-Ver.2.xlsm
0.05MB

안녕하세요. 저번시간엔 입고와 출고시 견적서의 데이터만으로 자동으로 데이터를 입력하는 것에 대해 얘기했죠?

 

오늘은 입고와 출고를 할 경우 보유하고 있던 재고가 자동으로 변화하는 프로그램을 만들어보겠습니다.

 

우선 영상부터 보시죠.

영상잘보셨나요?

 

영상에서 보신 것처럼 입고견적서의 데이터를 갱신하기 위해 갱신 버튼을 누르면 재고가 +되고,

출고견적서의 데이터를 갱신하기 위해 갱신 버튼을 누르면 재고가 -되는데요.

 

견적서에 중복된 데이터가 있으면 그 두개의 합만큼 재고가 늘어나거나 줄어드는 것도 보실 수 있습니다.

 

거두절미하고 코드부터 공개할게요.

 

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

 

매크로 사용 방법

1. 매크로 위치 매크로는 개발도구 탭안에 있습니다. 만약 개발도구라는 탭이 없다면 파일 -> 옵션 -> 리본 사용자 지정 -> 개발 도구를 체크해주세요.(아래 그림 참조) [그림 1]에서 신경쓰셔야 할

ksm30546.tistory.com

 

2. 코드 이해 링크

https://ksm30546.tistory.com/16

 

입고, 출고 시 재고 자동 업데이트 코드 분석

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 count_lnven = count_inven - 3 For i = 3 To 100 For j = 3 To count_inven -

ksm30546.tistory.com