Как вычесть дни из даты в 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 указывает, что мы хотим вычесть дни из дат, а не другую единицу времени.

Полный список единиц измерения, которые можно использовать в функции DateAdd , можно найти на странице документации VBA .

В следующем примере показано, как использовать этот синтаксис на практике.

Пример: вычесть дни из даты в 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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *