Як порівняти дати у 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 LaterElse
                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 LaterElse
                Result = " Dates Are Equal "
            End If
        End If
        
    Range(" C " & i) = Result
    
    Next i
End Sub

Коли ми запускаємо цей макрос, ми отримуємо такий результат:

Результати порівняння дат тепер відображаються в стовпці C.

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання у VBA:

VBA: Як сортувати аркуш за кількома стовпцями
VBA: як підрахувати кількість рядків у діапазоні
VBA: як відфільтрувати стовпець

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *