Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- VBA Undo
- VBA 사무자동화
- 엑셀 함수 정리
- 엑셀 재고데이터 입력
- 엑셀 사무자동화
- 재고 자동 갱신
- 재고관리 프로그램
- 견적서 자동 입력
- 엑셀 매크로 뒤로가기
- 매크로
- 입출고 데이터 관리
- 엑셀 데이터 삭제
- 엑셀 VBA 뒤로가기
- 재고 자동화
- redo
- 엑셀 재고관리
- VBA 데이터삭제
- VBA
- 재고관리프로그램
- 엑셀 매크로
- 엑셀자동화
- 고시원개발자
- 데이터 중복확인
- 엑셀 데이터 자동
- 사무자동화
- 엑셀 데이터관리
- 재고관리 자동화
- Excel
- VBA Redo
- 엑셀
Archives
- Today
- Total
내일도 화이팅
입출고 삭제 - 코드제공, 파일제공 본문
※ 제 코드와 파일은 상업적 이용, 개인적 이용이 모두 가능합니다. 다만, 게시판이나 블로그에 업로드할 목적이라면 꼭 출처를 남겨주시기바랍니다.
안녕하세요 오늘은 입고 시트와 출고 시트에 사용자가 입력하는 값을 제거하는 것은 물론, 재고까지 변경되는 코드와 파일을 제공해드리겠습니다.
저번시간에 입고와 출고를 삽입하면 재고가 변하도록 설계를 했었는데요. 입고나 출고를 잘못 입력하거나 거래가 취소되면 삭제를 해야될텐데.. 영상을 보시면 데이터 삭제 버튼을 클릭 시 대화상자가 뜨고 대화상자에서 거래번호를 입력하면 삭제되면서 재고가 다시 원상복귀 되는 것을 볼 수 있습니다.
1. 입고제거
Sub 입고제거()
Dim i As Integer
Dim j As Integer
Dim delete_number As String
Dim success_delete As Boolean
success_delete = False
delete_number = Application.InputBox("삭제하실 거래번호를 입력하세요", "거래삭제", , , , , , 2)
i = 3
Do While (Not IsEmpty(Cells(i, 2).Value))
If (Cells(i, 2).Value Like delete_number) Then
success_delete = True
j = 3
Do While (Not IsEmpty(Worksheets("재고관리").Cells(j, 2)))
If (Cells(i, 4).Value Like Worksheets("재고관리").Cells(j, 2).Value) Then
Worksheets("재고관리").Cells(j, 3).Value = Worksheets("재고관리").Cells(j, 3).Value - Worksheets("입고").Cells(i, 6).Value
Exit Do
End If
j = j + 1
Loop
Range("B" & Trim(Str(i)) & ":F" & Trim(Str(i))).Select
Selection.Delete Shift:=xlUp
i = 3
Else
i = i + 1
End If
Loop
If (Not success_delete) Then
msg = MsgBox("이미 삭제되었거나 존재하지않는 번호입니다.", vbYesOnly, "삭제실패")
Else
Range("B3:F500").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThin
End With
Range("G2").Select
End If
End Sub
2. 출고제거
Sub 출고제거()
Dim i As Integer
Dim j As Integer
Dim delete_number As String
Dim success_delete As Boolean
success_delete = False
delete_number = Application.InputBox("삭제하실 거래번호를 입력하세요", "거래삭제", , , , , , 2)
i = 3
Do While (Not IsEmpty(Cells(i, 2).Value))
If (Cells(i, 2).Value Like delete_number) Then
success_delete = True
j = 3
Do While (Not IsEmpty(Worksheets("재고관리").Cells(j, 2)))
If (Cells(i, 4).Value Like Worksheets("재고관리").Cells(j, 2).Value) Then
Worksheets("재고관리").Cells(j, 3).Value = Worksheets("재고관리").Cells(j, 3).Value + Worksheets("출고").Cells(i, 6).Value
Exit Do
End If
j = j + 1
Loop
Range("B" & Trim(Str(i)) & ":F" & Trim(Str(i))).Select
Selection.Delete Shift:=xlUp
i = 3
Else
i = i + 1
End If
Loop
If (Not success_delete) Then
msg = MsgBox("이미 삭제되었거나 존재하지않는 번호입니다.", vbYesOnly, "삭제실패")
Else
Range("B3:F500").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThin
End With
Range("G2").Select
End If
End Sub
감사합니다.
코드를 이해해서 입맛대로 바꾸시고 싶으신 분들은 아래 링크를 이용해주세요
● 입출고 삭제 - 코드분석
https://ksm30546.tistory.com/22
도움이 되셨다면 좋아요, 댓글 부탁드립니다.
모든 피드백과 질문도 환영입니다.
'엑셀 > 엑셀 매크로 사무자동화 코드' 카테고리의 다른 글
견적서 종류 추가 - 코드제공, 파일제공 (0) | 2023.08.06 |
---|---|
입출고관리 데이터 코드 단순화 + 코드 캡슐화 - 코드제공, 파일제공 (0) | 2023.08.04 |
입출고 Undo, Redo 구현 - 코드제공, 파일제공(복붙용) (0) | 2023.07.30 |
입출고 시 중복 업로드 방지-코드제공, 파일제공(복붙용) (0) | 2023.07.22 |
입고, 출고 시 재고 자동 업데이트-코드제공,파일제공(복붙용) (0) | 2023.07.17 |