|  | * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요. 
 - 엑셀 버전(95,97,2000,xp,2003,2007): 2013
 
 * 아래줄에 질문을 작성하세요 >>
 
 vba 코드 작성 시 폼의 텍스트박스에 숫자로만 12자리 입력 시
 1234-56-78 99:00으로 표기할 수 있는 코드를 짜고 싶습니다.
 
 Private Sub TextBox18_Change()
 '###@@#
 Dim strTemp As String
 Dim strNew As String
 Dim i As Integer
 
 With TextBox18
 strTemp = .Value '의 값
 If Len(strTemp) = 0 Then Exit Sub
 '-를 제거한 값
 strNew = Application.WorksheetFunction.Substitute(strTemp, "-", "")
 If IsNumeric(strNew) Then '숫자인가를 확인합니다
 i = Len(strNew)
 Select Case i '입력한 숫자의 자리수에 따라 분기합니다
 Case Is <= 4
 .Value = strTemp
 Case Is <= 6
 .Value = Format(strNew, "####""-""" & String(i - 4, "#"))
 Case Is <= 8
 .Value = Format(strNew, "####""-""##""-""" & String(i - 6, "#"))
 Case Else
 .Value = Format(Left$(strNew, 6), "####""-""##""-""##" & String(i - 8, "#"))
 End Select
 Else
 MsgBox "년 ####, 월/일 ## 형식 입력", vbExclamation, Es
 .Value = Empty
 End If
 End With
 
 End Sub
 
 이 코드에 시간(hh:mm) 형식으로 넣고 싶습니다.
 
 숫자로 123456780000으로 쓰면 표기는 1234-56-78 00:00으로 표기 되도록 구현하려는게 목표입니다.
 |  |