나눔터  
  HOME > 나눔터 > 묻고답하기 > 엑셀
엑셀
엑셀에 대한 질문과 답변을 올려주세요. 단, 취지에 맞지 않는 글은 운영자가 삭제합니다.
 "000 님, 도와주세요", "부탁 드립니다.", "급합니다!" 등과 같이 막연한 제목을 달지 말아주세요.
[필독] 빠르고 정확한 답변을 얻는 16가지 Tip !
[필독] 저작권법 개정에 따른 이용안내
작성자:  

 궁그미 (dock159)

추천:  2
파일:     조회:  2774
제목:   황기성님께서 한번 봐주셨음 합니다.
     
  * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.

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...): 

* 아래줄에 질문을 작성하세요 >>
' 변수선언
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에 입.출고시트의 b3000의 값을 넣어라
 datarg1 = myws1.Range("b3000").End(xlUp).Row
 datarg2 = myws2.Range("d3000").End(xlUp).Row

'재고현황시트의 셀 g8부터i3000안에 빈셀까지
    myws2.Range("g8:i3000") = ""

'i라는 변수가 11이 될때까지
    For i = 11 To datarg1
'findchk에 재고현황시트 d행에서 찾아서 입.출고시트i행2열의 값을 넣어라<요부분 잘....>
      Set findchk = myws2.Range("d:d").Find(what:=myws1.Cells(i, 2))
      
'만약 findchk에 해당없으면
        If findchk Is Nothing Then
'<"품번착오//" & myws1.Cells(i, 2) & "재고현황에 맞는 품번이 없읍니다", 0 + 48, myws1.Cells(i, 2) & "없음">라는 확인의 메세지경고 메세지박스를 띄어라
           MsgBox "품번착오//" & myws1.Cells(i, 2) & "재고현황에 맞는 품번이 없읍니다", 0 + 48, myws1.Cells(i, 2) & "없음"
'현제 프로시저를 끝내라
           Exit Sub
           
           
        Else
 '그렇지 않으면<"자료정리중..." & (i - 11) / datarg1 * 100 & "% 진행중">라는 StatusBar를 띄어라
           Application.StatusBar = "자료정리중..." & (i - 11) / datarg1 * 100 & "% 진행중"
'만약 입.출고시트의 i행2열에서 4번째시트가 "입고"이면
             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 & "건 자료 수불 완료", , "자료수불 완료"
    
'재고현황이란 워크시트를 활성시켜라 a8셀을 지정해라
    With Worksheets("재고현황")
        .Activate
        .Range("a8").Select
    End With
프로지서를 마쳐라
End Sub

이정도 어설프게...해석했습니다.

황기성님... 한번보시고 가르침점 주셨음 싶어서 나름대로 해석해봤습니다....
제가 가장 애매한 부분은 find문에 대한 부분인데요
Set findchk = myws2.Range("d:d").Find(what:=myws1.Cells(i, 2))을 어떻게 해석해야 할지와
myws2.Cells(findchk.row "g")요부분입니다...
물론 다른 부분도 많이 틀렸겠지만 말입니다...^^; 많은 가르침 부탁드립니다.
 
[불량 게시물 신고]  
황기성'findchk에 재고현황시트 d행에서 찾아서 입.출고시트i행2열의 값을 넣어라<요부분 잘....>
      Set findchk = myws2.Range("d:d").Find(what:=myws1.Cells(i, 2))
가 아니라, findchk라는 변수에, myws2란 시트의 D열에서 myws1t시트의 cells(i,2)셀의 값을 찾아서 대입하란 뜻이랍니다.

찾기 대화상자에서 찾을 값을 what:=   myws1.Cells(i, 2)라 한단 뜻이겠지요?

그럼...행운이 있으시길...!
07-14 (16:33)
삭제 ■신고
        
  

작성일 : 2003-07-14(14:09)
최종수정일 : 2003-07-14(14:24)
 


 ◎ 관련글

  제 목   작성자   날짜
풀이점 해주세여... 한울타리 2003-07-14
글재주가 없어서... 리티 2003-07-14
황기성님께서 한번 봐주셨음 합니다. 궁그미 2003-07-14