VBA CDate 함수 – 문자열을 날짜 유형으로 변경하기
이 튜토리얼에서는 VBA에서 문자열을 날짜 유형으로 변환하는 방법을 보여드립니다.
Excel의 날짜는 숫자로 저장된 다음 날짜로 표시되도록 서식이 지정됩니다. Excel에서 1일은 1900년 1월 1일(Windows 기본값) 또는 1904년 1월 1일(Macintosh 기본값)이므로 2021년 8월 5일은 1900년 1월 1일 이후 44413일째가 되는 날입니다. Excel에서 문자열을 날짜로 변환하려면 먼저 문자열을 숫자로 변환한 다음 해당 숫자를 날짜로 변환해야 합니다.
CDate 함수
VBA에서 CDate 함수를 사용하여 문자열을 날짜로 변환할 수 있습니다.
Sub ConvertDate()
Dim dte As Single
Dim strD As String
strD = "05/10/2020"
dte = CDate(strD)
MsgBox dte
End Sub
숫자 변수를 선언했으므로(dte as Single), 메시지 박스는 입력한 날짜를 나타내는 숫자를 반환합니다.
연도 자릿수 4자리(예: 20이 아닌 2020)를 모두 사용하여 연도를 입력하는 것이 중요합니다. 그렇지 않으면 반환되는 숫자가 예상과 다를 수 있습니다. Excel은 날짜의 연도 부분을 해석하지 않으며, 이는 PC의 제어판에서 제어할 수 있습니다.
변수를 날짜 변수로 선언하면 메시지 박스에 숫자가 날짜 형식으로 반환됩니다.
Sub ConvertDate()
Dim dte As Date
Dim strD As String
strD = "05/10/2020"
dte = CDate(strD)
MsgBox dte
End Sub
여기서 한 단계 더 나아가면 원하는 날짜 형식으로 서식을 지정할 수 있습니다.
Sub ConvertDate()
Dim dte As String
Dim strD As String
strD = "05/10/2020"
dte = Format(CDate(strD), "dd mmmm yyyy")
MsgBox dte
End Sub
이 예제에서는 문자열을 날짜로 변환한 다음 다시 문자열로 변환하고 있습니다!
연도를 생략하면 Excel은 현재 연도를 가정합니다.