YYMMDD 형식의 문자열이있는 파일이 있습니다. 예. 120216 (항상이 형식이어야합니다).VBA를 날짜 형식으로 변환하는 문자열
이 형식을 이상적으로 DDMMYY 또는 DDMMYYYY 형식으로 변환하고 싶습니다.
비슷한 문제가있는 사람이 누구이며 어떻게 해결 했습니까?
YYMMDD 형식의 문자열이있는 파일이 있습니다. 예. 120216 (항상이 형식이어야합니다).VBA를 날짜 형식으로 변환하는 문자열
이 형식을 이상적으로 DDMMYY 또는 DDMMYYYY 형식으로 변환하고 싶습니다.
비슷한 문제가있는 사람이 누구이며 어떻게 해결 했습니까?
문자열을 분리 한 다음 DateSerial
을 사용할 수 있습니다. 이 예제를 참조하십시오. 의견
감사에서
Option Explicit Sub Sample() Dim sDate As String Dim Y As Long, M As Long, D As Long sDate = "120216" Y = Left(sDate, 2) M = Mid(sDate, 3, 2) D = Right(sDate, 2) Debug.Print Format(DateSerial(Y, M, D), "DDMMYY") Debug.Print Format(DateSerial(Y, M, D), "DDMMYYYY") End Sub
후속 조사, 나는 아마 내가 문자열에 전달할 수있는 기능을 작성해야 할 것입니다 것은 변환 얻을 거슬러 올라간다. Debug ... 라인이 변수에 저장 될 가능성이 있습니까? (할 수없는 것일까?) 아니면 다른 대안이 있을까요? - Marco Susilo 4 분 전
오류 처리를 수행하지 않았습니다. 나는 당신이 그것을 돌볼 수 있다고 확신합니까?
Option Explicit
Sub Sample()
Dim Ret As String
Ret = GetDate("120216", "DDMMYY")
Debug.Print Ret
Ret = GetDate("120216", "DDMMYYYY")
Debug.Print Ret
End Sub
Function GetDate(sDate As String, sFormat As String) As String
Dim Y As Long, M As Long, D As Long
Y = Left(sDate, 2)
M = Mid(sDate, 3, 2)
D = Right(sDate, 2)
GetDate = Format(DateSerial(Y, M, D), sFormat)
End Function
@andyholaday : 건배! 그것을 고정 :) –
고마워, 아마 내가 변환 할 문자열 날짜 전달할 수있는 함수를 작성해야 할 것입니다. Debug ... 라인이 변수에 저장 될 가능성이 있습니까? (할 수없는 것일까?) 아니면 다른 대안이 있을까요? – SeekingAlpha
@MarcoSusilo : 예. 업데이트 된 게시물을 참조하십시오. 페이지를 새로 고쳐야 할 수도 있습니다. –
적어도 스레드에 투표하려면 투표 할 것입니다. FYI 아래의 대답은 내 시나리오에서 100 % 작동하지 않았다. 나는 여전히 약간의 조정을해야했고, 약간의 해킹을 수반했다. – SeekingAlpha
그래서 어떤 코드를 먼저 시도 했는가? 왜이 것이 downvoted인지 꽤 명확하다. – brettdj