В excel всякий раз, когда дата вводится в один столбец, в другом столбце должна автоматически отображаться дата до 3 рабочих дней.

введите здесь описание изображения

Всякий раз, когда дата вводится в столбец B, дата до 3 рабочих дней должна автоматически вставляться в столбец C. Я получаю ее с помощью =IF(B15, WORKDAY(B15, -3), " ") этой формулы, но не могу автоматически вставлять ее для будущих строк без добавления формулы в пустые ячейки. Мне это нужно без добавления лишних пустых ячеек. Мы ценим любые предложения


person Mamta    schedule 28.06.2017    source источник
comment
Форматирование ваших данных в виде таблицы может помочь   -  person Nitesh Halai    schedule 28.06.2017
comment
Возможно, если вы поместите свои данные в таблицу. Каждый раз, когда пользователь вводит строку под таблицей, таблица автоматически расширяется и заполняет формулу.   -  person A.S.H    schedule 28.06.2017
comment
Таблица решила проблему. Спасибо.   -  person Mamta    schedule 10.07.2017


Ответы (1)


Сначала отформатируйте столбец C в какой-либо формат даты, а затем вставьте этот макрос события в область кода листа:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim B As Range
Set B = Range("B:B")

If Intersect(B, Target) Is Nothing Then Exit Sub
If Target.Count > 1 Then Exit Sub
v = Target.Value
If Not IsDate(v) Then Exit Sub

Application.EnableEvents = False
    Target.Offset(0, 1) = Application.WorksheetFunction.WorkDay(v, -3)
Application.EnableEvents = True
End Sub

В столбец C не будут введены формулы.

РЕДАКТИРОВАНИЕ №1:

Альтернативой является ввод в C15:

=ЕСЛИ(B15="","",РАБДЕНЬ(B15,-3))

и скопируйте вниз. Ячейки C будут пустыми, пока не будет заполнена ячейка B.

person Gary's Student    schedule 28.06.2017
comment
Спасибо за ответ. Мне не удобно работать с макросом. Мне было любопытно узнать, есть ли простой способ применить формулу к будущим ячейкам - person Mamta; 28.06.2017
comment
@Mamta См. мой EDIT#1 - person Gary's Student; 28.06.2017
comment
Я пробовал, но у меня не может быть пустых строк с формулой, примененной к столбцу C для значений, которые нужно ввести в B. Изначально файл должен содержать только строки с данными. - person Mamta; 29.06.2017