본문 바로가기
WeekdayLife/excel

[엑셀VBA] 날짜간 차이 표시(datediff)

by JO_i 2022. 12. 19.

첫번째 날짜 : 오늘날짜

두번째 날짜 : 원하는 날짜

첫번째 날짜와 두번째 날짜의 차이를 구하고 싶다면 아래와 같은 수식을 작성할 수 있다.

 

Sub datediff_func()

    Dim date1 As Date
    Dim date2 As Date

    date1 = Now 'now
    date2 = #1/15/2023# 'end date of service
   
    Debug.Print DateDiff("d", date1, date2)

End Sub

 

DateDiff의 첫번째 argument는 interval로서, 아래와 같은 옵션이 있고, 쌍따옴표를 써서, String type으로 기재를 해줘야 한다.

 

 

 

더 구체적인 설명은 아래 도움말을 참고할 수 있다.

 

 

DateDiff function (Visual Basic for Applications)

Office VBA reference topic

learn.microsoft.com

 

macro의 사용기간을 설정하고 싶다면 아래와 같이 설정할 수 있다. 두 날짜간의 차이가 0보다 작다면, 매크로를 실행시키지 않는다.

 

Sub datediff_func()

    Dim date1 As Date
    Dim date2 As Date

    date1 = Now 'now
    date2 = #1/15/2023# 'end date of service
   
    'Debug.Print DateDiff("d", date1, date2)
       
    If DateDiff("d", date1, date2) > 0 Then
            MyMacros.Show
    Else: MsgBox "this macro out of service"
    End If

End Sub

 

이상 끝.