Поскольку вы не предоставили больше информации, чем тот факт, который хотите объединить DateDiff()
и Range.Hidden
, я приведу вам пример для этого.
If DateDiff("m", Cells(1, 1), Cells(1, 2)) >= 6 Then
Rows(2).Hidden = False
Rows(3).Hidden = False
Rows(4).Hidden = False
Else
Rows(2).Hidden = True
Rows(3).Hidden = True
Rows(4).Hidden = True
End If
Это скрыло быстроки от 2
до 3
, если DateDiff()
возвращает значение, большее или равное 6
для дат в первой строке и первых двух столбцах.Если значение меньше, оно сделает их видимыми.Конечно, вы можете легко редактировать значения столбцов и строк в соответствии со своими потребностями.
Cells(1, 1)
вернет значение (в вашем случае дату) ячейки в первой строке и первом столбце, Cells(1, 2)
дляпервый ряд и второй столбец.
Обратите также внимание, что DateDiff()
вернет 6
независимо от дня месяца, если первый параметр - "m"
, а разница месяцев - 6
.Если вы хотите быть ближе к 6 месяцам, я бы предложил вместо этого использовать "d"
в течение нескольких дней и установить условие >= 180
или что-то еще, более соответствующее вашим потребностям.