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

작성자:  

 바다 (hyena828)

추천:  2
파일:     조회:  1883
제목:   input box대화상자에서 취소시???
     
  input박스를 이용하여 단가를 입력하는데
input박스 초기값을 100으로 주고 싶습니다
그런데 사용자가 input 박스 대화상자에서 취소키를 눌렀을경우
셀 A1의 값이 0이 되어버립니다.
취소를 눌렀을경우 기존에 있던 값으로 그대로 있어야 되거든요
도움 부탁드립니다.


Sub S()
    Dim 단가 As Long
    Dim msg As String
        
    msg = "단가를 입력하세요"
          
    On Error Resume Next
    단가 = InputBox(msg, , 100)
    
    Range("A1") = 단가
    
End Sub
 
[불량 게시물 신고]  
화두MSG = "단가를 입력하세요"
단가 = 100 '요부분만 추가
....
취소할시는 단가에 아무값이 안들어가죠..
07-21 (15:34)
삭제 ■신고
바다안됩니다. A1셀의 초기값이 88원이고 여기서 
위 코드를 실행하면 INPUTBOX가 뜨고 거기서
취소키를 누르면 A1의 값이 0이 되어버립니다.
취소할때는 기존에 있던 입력값 그대로(88원) 놔두고 싶습니다.
도움 부탁요
07-21 (15:48)
삭제 ■신고
화두그럼 단가= range("a1") ' 단가에 a1  초기값을 대입후
inputbox 실행
07-21 (15:57)
삭제 ■신고
황기성Sub S()
    Dim 단가 As String 'Long inuptbox함수는 문자열을 넘겨받으므로 변수를 String으로 해줍니다.
    Dim msg As String
        
    msg = "단가를 입력하세요"
          
    On Error Resume Next
    단가 = InputBox(msg, , 100)
    if len(단가)=0 then exit sub '넘겨받은문자열 길이가 0이라면 취소를 누른 것이므로...
    Range("A1") = cLng(단가)
    
End Sub

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

작성일 : 2003-07-21(15:12)
최종수정일 : 2003-07-21(15:12)