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

작성자:  

 버터젤 (k10245)

추천:  2
파일:     조회:  3840
제목:   VBA TEXTBOX 양식 관련 질문(DATE)
     
  * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.

 - 엑셀 버전(95,97,2000,xp,2003,2007):2010

* 아래줄에 질문을 작성하세요 >>
안녕하세요, TEXTBOX 관련하여 질문 드리고자 합니다.
현재 제가 TEXTBOX1에 다음과 같이 코딩을 해 두었습니다.
-----------------------------------------------------------
Private Sub TextBox1_Change()

Me.TextBox1.Text = Format(TextBox1, "YYYY - MM - DD")

End Sub
-----------------------------------------------------------

TEXTBOX1에 숫자를 기재할 때마다, 그 내용이 날짜를 위와 같은 형식으로 표기할 수 있도록 함이었는데, 제가 원치 않은 문제가 발생하였습니다.

예를 들어 날짜를 TextBox1에 20180516 으로 기재하면, 그 기재가 완전히 끝난 후에 자동으로 2018-05-16으로 변경될 줄 알았는데, 저 textbox1에 2만 기재가 되어도 1900-01-01 이런식으로 뜨면서 제가 커서를 1900의 1 앞이나 뒤에 넣지 않으면 숫자가 변경되지 않을뿐더러 예를 들어, 20181900-01-01 이런식으로 기존의 숫자는 지워지지 않은채로 밀려나는 식으로 날짜가 기재되고 있습니다.

1.제가 원하는 식의 전체 숫자를 기재하고(8자리)난 후, 자동으로 양식에 맞춰 날짜 형식으로 바뀌려면 어떻게 수정해 주어야 할까요?
2.그리고 혹시 날짜를 캘린더 형의 그림을 띄워줘서 지정한 날짜를 선택하면 TextBox에 기재되게(동시에 직접 일일이 숫자를 적어도 날짜 인식이 가능한) 하려면 어떻게 해야 되나요?

읽어 주셔서 감사합니다.
 
[불량 게시물 신고]  
조삿갓텍스트박스는 특성상 숫자를 입력해도 그것을 수치로 반환하지 않고 문자열 형태로만 반환합니다.
수치로 받고 싶으면 Val(TextBox1)과 같이 받아야 하고요.
날짜의 경우는
DateValue(Left(TextBox1,4) & "-" & Mid(TextBox1,5,2) & "-" & Right(TextBox1,2))
로 변환하여 받으면 되겠지만, 이 경우 입력자가 실수를 하지 않아야 하지요.

달력을 띄우는 일은 노가다가 많이 필요하고
(만년력을 설계해야 하고, 버튼을 일일이...)

그보다는 연,월,일 입력란을 따로 만들어서 각각을 스핀단추와 연동하게 하는 방법이 더 편할 것 같네요.
05-16 (22:34)
삭제 ■신고
버터젤감사합니다. 조삿갓님
아이디어 주신 대로 한번 시도해 보겠습니다. 

05-17 (15:39)
삭제 ■신고
조삿갓다음 자료 참고하시기 바랍니다.

http://www.officetutor.co.kr/board/Dtype/bfrmvw.asp?f_tn=Dqa_excel_n2&f_bno=124211
05-23 (17:06)
삭제 ■신고
        
  

작성일 : 2018-05-16(15:28)
최종수정일 : 2018-05-16(15:28)