Як відняти дні від дати у vba (з прикладом)


Ви можете використовувати функцію DateAdd у VBA з від’ємним числом, щоб відняти певну кількість днів від дати.

Ось поширений спосіб використання цієї функції на практиці:

 Sub SubtractDays()

    Dim i As Integer
    
    For i = 2 To 10
        Range(" B " & i) = DateAdd(" d ", -4, Range(" A " & i))
    Next i
    
End Sub

Цей конкретний макрос відніме чотири дні від кожної дати в діапазоні A2:A10 і відобразить нові дати в діапазоні B2:B10 .

Зауважте, що аргумент «d» у функції DateAdd вказує, що ми хочемо відняти дні від дат, а не від іншої одиниці часу.

Зверніться до сторінки документації VBA , щоб отримати повний список одиниць, які можна використовувати у функції DateAdd .

У наступному прикладі показано, як використовувати цей синтаксис на практиці.

Приклад: відніміть дні від дати у VBA

Припустімо, що в Excel є такий список дат:

Припустімо, ми хочемо відняти чотири дні від кожної дати та відобразити нові дати в стовпці B.

Для цього ми можемо створити такий макрос:

 Sub SubtractDays()

    Dim i As Integer
    
    For i = 2 To 10
        Range(" B " & i) = DateAdd(" d ", -4, Range(" A " & i))
    Next i
    
End Sub

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

VBA віднімає дні від дати

Зауважте, що стовпець B містить кожну з дат у стовпчику A без чотирьох днів.

Ви можете змінити числове значення у функції DateAdd , щоб відняти різну кількість днів від кожної дати.

Примітка . Ви можете знайти повну документацію функції DateAdd у VBA тут .

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

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

Як порівняти дати у VBA
Як перетворити рядок на дату у VBA
Як обчислити дні між двома датами у VBA

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

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