Як порівняти дати у vba (з прикладами)
Щоб порівняти дві дати, у VBA можна використовувати такий базовий синтаксис:
SubCompareDates ()
Dim i As Integer
For i = 2 To 5
If CDate(Range(" A " & i)) < CDate(Range(" B " & i)) Then
Result = " First Date is Earlier "
Else
If CDate(Range(" A " & i)) > CDate(Range(" B " & i)) Then
Result = “ First Date is Later ”
Else
Result = " Dates Are Equal "
End If
End If
Range(" C " & i) = Result
Next i
End Sub
Цей приклад порівнює дати у відповідних клітинках у діапазонах A2:A5 і B2:B5 і повертає результат порівняння дат у діапазоні C2:C5 .
Примітка : функція CDate перетворює значення заданої клітинки на дату.
У наступному прикладі показано, як використовувати цей синтаксис на практиці.
Приклад: порівняння дат у VBA
Припустимо, що в Excel є два стовпці з датами:
Припустімо, ми хочемо порівняти дати в кожному відповідному рядку та відобразити результати порівняння дат у стовпці C.
Для цього ми можемо створити такий макрос:
SubCompareDates ()
Dim i As Integer
For i = 2 To 5
If CDate(Range(" A " & i)) < CDate(Range(" B " & i)) Then
Result = " First Date is Earlier "
Else
If CDate(Range(" A " & i)) > CDate(Range(" B " & i)) Then
Result = “ First Date is Later ”
Else
Result = " Dates Are Equal "
End If
End If
Range(" C " & i) = Result
Next i
End Sub
Коли ми запускаємо цей макрос, ми отримуємо такий результат:
Результати порівняння дат тепер відображаються в стовпці C.
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові завдання у VBA:
VBA: Як сортувати аркуш за кількома стовпцями
VBA: як підрахувати кількість рядків у діапазоні
VBA: як відфільтрувати стовпець