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

작성자:  

 알려주세요! (swssjjs)

추천:  2
파일:     조회:  4918
제목:   코드 수정좀 부탁드립니다.(초보자예요,,봐주세요,,,)
     
  * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.

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

* 아래줄에 질문을 작성하세요 >>
발주할때 품목추가를 묻는 메세지에 NO를 누르거나 iCount(발주서의 행의 숫자)가 18보다
크면 품목 입력을 끝내려는 의도인데 품목추가를 묻는 메세지에 NO를 눌러도 자꾸 추가를
하게 됩니다. 수정좀 부탁드립니다.(더운 날씨에 건강하세요.)
---------------------------------------------------------------------------------
Sub Orderdate()
Dim datMyDate As Date
Dim strPartNo As String
Dim iCount As Integer
Dim iOrderQty As Integer
Dim datDelivery As Date
Dim MyOk As Boolean

datMyDate = InputBox("발주 일자를 넣으세요.")
ActiveSheet.Range("N4").Value = datMyDate

iCount = 9
Do While MyOk = vbYes Or iCount <= 18

    strPartNo = InputBox("품번을 넣으세요.")
    Cells(iCount, 3).Value = strPartNo
    iOrderQty = InputBox("발주 수량을 넣으세요.")
    Cells(iCount, 8).Value = iOrderQty
    datDelivery = InputBox("납기일을 넣으세요.")
    Cells(iCount, 12).Value = datDelivery
    
    MyOk = MsgBox("품목을 추가하시겠습니까?", vbYesNo)
    iCount = iCount + 1
    
Loop

End Sub
 
[불량 게시물 신고]  
김종철Do While MyOk = vbYes Or iCount <= 18 을
Do While MyOk = vbYes and iCount <=18 로 바꾸세요.
그리고 Do While 앞에 MyOK = vBYes 라고 초기값을 정해줘야 할 것 같네요...

06-28 (16:40)
삭제 ■신고
졸따구'INPUTBOX'함수는 'type'인수를 지정하지 않으면 입력받은 결과값이 'string'형이 됩니다. 그러므로 위에서 사용한 inputbox는 형식변형함수로 입력값을 감싸주지 않으며 예상치 못한 결과가 나올수 있으니 유념하세요
  datMydate=Cdate(InputBox("발주 일자를 입력하세요"))
  iOrderQty=Clng(InputBox("발주 수량을 넣으세요")) 등   그럼..
06-28 (20:43)
삭제 ■신고
        
  

작성일 : 2003-06-28(16:35)
최종수정일 : 2003-06-28(16:35)