|
* 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.
1. 엑셀 버전(95,97,2000,2002):
2. 윈도우즈의 버전(win95,win98,winME,winNT,win2000,winXP):
3. CPU (486,PentiumI/II/III/IV...):
4. RAM (32,64,128,256,512MB,1G...):
* 아래줄에 질문을 작성하세요 >>
안녕하세요
코드를 조금 고쳤습니다.
원하는 내용일지 모르겠군요
Sub 재고수불()
Dim myws1 As Worksheet, myws2 As Worksheet
Dim datarg1 As Long, datarg2 As Long, i As Long
Dim findchk As Range
Set myws1 = Worksheets("입.출고")
Set myws2 = Worksheets("재고현황")
datarg1 = myws1.Range("b65536").End(xlUp).Row
datarg2 = myws2.Range("d65536").End(xlUp).Row
myws2.Range("g8:i10000") = ""
For i = 11 To datarg1
Set findchk = myws2.Range("d:d").Find(what:=myws1.Cells(i, 2))
If findchk Is Nothing Then
MsgBox "품번착오//" & myws1.Cells(i, 2) & "재고현황에 맞는 품번이 없읍니다", 0 + 48, myws1.Cells(i, 2) & "없음"
Exit Sub
Else
Application.StatusBar = "자료정리중..." & (i - 11) / datarg1 * 100 & "% 진행중"
If myws1.Cells(i, 2).Offset(0, 4) = "입고" Then
myws2.Cells(findchk.Row, "g") = myws2.Cells(findchk.Row, "g") + myws1.Cells(i, 2).Offset(0, 1)
Else
myws2.Cells(findchk.Row, "h") = myws2.Cells(findchk.Row, "h") + myws1.Cells(i, 2).Offset(0, 1)
End If
myws2.Cells(findchk.Row, "i") = myws2.Cells(findchk.Row, "f") + _
myws2.Cells(findchk.Row, "g") - _
myws2.Cells(findchk.Row, "h")
End If
Next i
Application.StatusBar = False
MsgBox datarg1 - 10 & "건 자료 수불 완료", , "자료수불 완료"
With Worksheets("재고현황")
.Activate
.Range("a8").Select
End With
End Sub
|
|