Изменение даты excel при изменении в ячейке

Как автоматически записывать дату и время при изменении ячейки?

Нам легко вставить статическую дату и время вручную или вставить динамическую дату, меняющуюся вместе с системным временем, с помощью формулы. Если вы хотите автоматически записывать дату и время при изменении или вводе значений, эта проблема может быть несколько иной. Но в этой статье вы можете решить эту задачу, выполнив следующие шаги.

Автоматическая запись даты и времени при изменении ячейки с помощью кода VBA


стрелка синий правый пузырь Автоматическая запись даты и времени при изменении ячейки с помощью кода VBA

Например, у меня есть диапазон значений, и теперь, когда я изменяю или ввожу новые значения в столбец B, я хочу, чтобы в столбце C автоматически записывались текущая дата и время, как показано на следующем снимке экрана:

doc-update-time-value-changes-1

Вы можете завершить эту задачу с помощью следующего кода VBA. Пожалуйста, сделайте так:

1. Удерживайте ALT + F11 , чтобы открыть Окно Microsoft Visual Basic для приложений.

2. Затем выберите использованный рабочий лист слева Обозреватель проекта, дважды щелкните его, чтобы открыть Модули, а затем скопируйте и вставьте следующий код VBA в пустой модуль:

Код VBA: автоматически записывать дату и время при изменении ячейки

Private Sub Worksheet_Change(ByVal Target As Range)
'Update 20140722
Dim WorkRng As Range
Dim Rng As Range
Dim xOffsetColumn As Integer
Set WorkRng = Intersect(Application.ActiveSheet.Range("B:B"), Target)
xOffsetColumn = 1
If Not WorkRng Is Nothing Then
    Application.EnableEvents = False
    For Each Rng In WorkRng
        If Not VBA.IsEmpty(Rng.Value) Then
            Rng.Offset(0, xOffsetColumn).Value = Now
            Rng.Offset(0, xOffsetColumn).NumberFormat = "dd-mm-yyyy, hh:mm:ss"
        Else
            Rng.Offset(0, xOffsetColumn).ClearContents
        End If
    Next
    Application.EnableEvents = True
End If
End Sub

doc-update-time-value-changes-1

3. Затем сохраните и закройте этот код, чтобы вернуться на рабочий лист, теперь, когда вы изменяете значение ячейки или вводите новые данные в столбец B, дата и время будут автоматически записываться в столбец C.

Ноты:

1. В приведенном выше коде вы можете изменить «B: B”В любой другой столбец, значения ячеек которого вы хотите изменить в этом скрипте: Установите WorkRng = Intersect (Application.ActiveSheet.Range («B: B»), Target).

2. С этим xOffsetColumn = 1 скрипт, вы можете вставить и обновить дату и время в первом столбце рядом с вашим столбцом изменяющегося значения, вы можете изменить число 1 на другие числа, такие как 2,3,4,5… это означает, что дата будет вставлена второй, третий, четвертый или пятый столбцы помимо столбца измененных значений.

3. Когда вы удаляете значение в измененном столбце, дата и время также удаляются.


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Комментарии (108)


Оценок пока нет. Оцените первым!

Автоматический ввод даты при изменении значения.

Mulifen

Дата: Понедельник, 20.06.2011, 11:24 |
Сообщение № 1

Группа: Пользователи

Ранг: Прохожий

Сообщений: 5


Репутация:

0

±

Замечаний:
0% ±


Добрый день. Стоит такая задача автоматически вводить даты в ячейку А1 при изменении/вводе в ячейку B1.
Была вот такая реализация.
http://forum.msexcel.ru/microso…..0.html

Quote

Помогите создать макрос, чтобы вводил текущую дату в ячейке А1 при создании новой записи в ячейке В1. Что-то типа регистрационного журнала: ввожу фамилию в ячейку В1, автоматически в ячейке А1 появляется текущая дата, при этом ячейка с датой должна быть защищена от редактирования.

Но требуется реализация без макросов.
Если правильно понимаю, то нужно использовать ЕСЛИ и СЕГОДНЯ() или TDATE().
Заранее благодарен.

 

Ответить

Serge_007

Дата: Понедельник, 20.06.2011, 11:30 |
Сообщение № 2

Группа: Админы

Ранг: Местный житель

Сообщений: 15894


Репутация:

2623

±

Замечаний:
±


Excel 2016

Здравствуйте.

Quote

…ввожу фамилию в ячейку В1, автоматически  в ячейке А1 появляется текущая дата…

Без макросов наверное не получится, т.к. функция СЕГОДНЯ() пересчитывается при любом изменении на листе, а не только при изменениях в А1.


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

Michael_S

Дата: Понедельник, 20.06.2011, 11:35 |
Сообщение № 3

Группа: Друзья

Ранг: Старожил

Сообщений: 2012


Репутация:

373

±

Замечаний:
0% ±


Excel2016

Без макросов можно, но должны быть включены итерации.
Дата в А1 должна меняться при любом изменении в В1 или только один раз?

 

Ответить

Mulifen

Дата: Понедельник, 20.06.2011, 11:36 |
Сообщение № 4

Группа: Пользователи

Ранг: Прохожий

Сообщений: 5


Репутация:

0

±

Замечаний:
0% ±


А если сделать некую промежуточную ячейку на подобии маркера изменять или нет и буферную ячейку с указанием текущей даты и даты изменения.

 

Ответить

Mulifen

Дата: Понедельник, 20.06.2011, 11:43 |
Сообщение № 5

Группа: Пользователи

Ранг: Прохожий

Сообщений: 5


Репутация:

0

±

Замечаний:
0% ±


Michael_S можно подробнее про итерации.
Дата в принципе должна меняться 1 раз, но возможно что и несколько.
(Стоит задача автоматического формирования журнала заявок (дата подачи, кем, и собственно текст заявки)
И нужно фиксировать дату внесения (т.к. замучали либо вообще не пишут или пишут не всегда корректно + потом вносят изменения в текст, а дату не меняют, соответственно заявка выполняется по старым условиям а при проверке выясняется что неправильно исполнили))

 

Ответить

Serge_007

Дата: Понедельник, 20.06.2011, 11:45 |
Сообщение № 6

Группа: Админы

Ранг: Местный житель

Сообщений: 15894


Репутация:

2623

±

Замечаний:
±


Excel 2016

Quote (Mulifen)

либо вообще не пишут или пишут не всегда корректно + потом вносят изменения в текст, а дату не меняют

Тогда точно лучше макросами. Ввод через форму, с проверкой на корректность и запретом на изменение. Чем такой вариант не подходит?


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

Mulifen

Дата: Понедельник, 20.06.2011, 11:50 |
Сообщение № 7

Группа: Пользователи

Ранг: Прохожий

Сообщений: 5


Репутация:

0

±

Замечаний:
0% ±


Боюсь что антивирус будет мешать и при открытии при запросе отключать макросы или нет ответят нет.

 

Ответить

Serge_007

Дата: Понедельник, 20.06.2011, 11:53 |
Сообщение № 8

Группа: Админы

Ранг: Местный житель

Сообщений: 15894


Репутация:

2623

±

Замечаний:
±


Excel 2016

Quote (Mulifen)

Боюсь что антивирус будет мешать и при открытии при запросе отключать макросы или нет ответят нет.

Итерации тоже придётся включать.
Антивирус тут правда не помеха, но ведь кто-нибудь может и не сделать этого…


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

Michael_S

Дата: Понедельник, 20.06.2011, 11:55 |
Сообщение № 9

Группа: Друзья

Ранг: Старожил

Сообщений: 2012


Репутация:

373

±

Замечаний:
0% ±


Excel2016

Изменяем ячейку В1. Ячейку С1 лучше скрыть или защитить от изменений. А1 тоже лучше защитить. При любом изменении в В1 будет меняться дата в А1.

ps. Замечу, что в реализации по такому методу тоже есть свои неудобства — время от времени при запуске файла будет выскакивать сообщение о циклических ссылках и придется вручную включать итерации.

К сообщению приложен файл:

2743538.xls
(24.0 Kb)

Сообщение отредактировал Michael_SПонедельник, 20.06.2011, 11:59

 

Ответить

Mulifen

Дата: Понедельник, 20.06.2011, 12:24 |
Сообщение № 10

Группа: Пользователи

Ранг: Прохожий

Сообщений: 5


Репутация:

0

±

Замечаний:
0% ±


Michael_S огромное спасибо, шикарное решение.

 

Ответить

0mega

Дата: Понедельник, 20.06.2011, 20:23 |
Сообщение № 11

Группа: Проверенные

Ранг: Ветеран

Сообщений: 627


Репутация:

34

±

Замечаний:
0% ±


Michael_S, доброго времени суток.
два вопроса :
1) С1=ЕСЛИ(A1;B1)
как вообще может работать половина формулы и при этом здесь вообще не прописаны никакие условия ?!
2) а почему нельзя С1 просто приравнять к В1:
=B1

 

Ответить

Serge_007

Дата: Понедельник, 20.06.2011, 20:27 |
Сообщение № 12

Группа: Админы

Ранг: Местный житель

Сообщений: 15894


Репутация:

2623

±

Замечаний:
±


Excel 2016

Quote (0mega)

как может работать половина формулы и при этом здесь вообще не прописаны никакие условия ?!

0mega, Вы уже задавали этот вопрос мне и я Вам на него отвечал.


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

Michael_S

Дата: Понедельник, 20.06.2011, 21:23 |
Сообщение № 13

Группа: Друзья

Ранг: Старожил

Сообщений: 2012


Репутация:

373

±

Замечаний:
0% ±


Excel2016

Ну раз уж меня спрашивают, отвечу и я.
1)=ЕСЛИ(A1;B1)
В А1 стоит дата, т.е.- число, это главное условие для возможности применения такой записи.
В логических функциях (а здесь именно логическое условие) ноль=ложь, все, что не равно нулю — истина. В А1<>0, следовательно А1=ИСТИНА.
В функции ЕСЛИ() не обязательно указывать значение, принимаемое при условии ЛОЖЬ. В этом случае по умолчанию возвращается ЛОЖЬ.
Попробуйте в А1 писать любые числа (ноль, положительные, отрицательные), и посмотрите, что будет в С1.

2)Если написать сразу в С1 =В1, то после изменения в В1 сначала изменится значение в С1, и только потом будет вычисляться А1, а следовательно ничего не изменится. Для того, что бы запустить функцию в А1, необходимо обратиться к этой ячейке непосредственно.

Работает Все это так. В В1 меняется значение. В С1 сначала проверяется условие А1, а поскольку там летучая функция ТДАТА(), то сначала она пересчитывается, получаем ИСТИНА, и в С1 возвращается значение В1.
Если бы не были включены итерации, комп бы впал в «кому» :), а так все это происходит один раз (или сколько указанно).

 

Ответить

Serge_007

Дата: Вторник, 21.06.2011, 20:01 |
Сообщение № 14

Группа: Админы

Ранг: Местный житель

Сообщений: 15894


Репутация:

2623

±

Замечаний:
±


Excel 2016

Quote (Michael_S)

В функции ЕСЛИ() не обязательно указывать значение, принимаемое при условии ЛОЖЬ. В этом случае по умолчанию возвращается ЛОЖЬ.

Добавлю — не обязательно писать и ИСТИНА. Должен быть хотя-бы один из двух аргументов, либо ЛОЖЬ, либо ИСТИНА. Или оба.


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

kim

Дата: Вторник, 21.06.2011, 20:06 |
Сообщение № 15

Группа: Друзья

Ранг: Обитатель

Сообщений: 371


Репутация:

160

±

Замечаний:
0% ±


Excel 2010

ЛЖИ без ИСТИНЫ быть не может :-)


Сцяна — гэта тая ж прыступка. Проста трэба дарасьці да яе.

 

Ответить

Serge_007

Дата: Вторник, 21.06.2011, 20:11 |
Сообщение № 16

Группа: Админы

Ранг: Местный житель

Сообщений: 15894


Репутация:

2623

±

Замечаний:
±


Excel 2016

Quote (kim)

ЛЖИ без ИСТИНЫ быть не может :-)

Я это: имел ввиду smile


ЮMoney:41001419691823 | WMR:126292472390

 

Ответить

kim

Дата: Вторник, 21.06.2011, 20:14 |
Сообщение № 17

Группа: Друзья

Ранг: Обитатель

Сообщений: 371


Репутация:

160

±

Замечаний:
0% ±


Excel 2010

А, ну тады ладно, а то я уже разволновался cool
=ЕСЛИ(A1;;ЛОЖЬ) <=> =ЕСЛИ(A1;0;ЛОЖЬ) <=> =ЕСЛИ(A1;)


Сцяна — гэта тая ж прыступка. Проста трэба дарасьці да яе.

 

Ответить

GASik

Дата: Четверг, 07.03.2013, 05:28 |
Сообщение № 18

Группа: Пользователи

Ранг: Прохожий

Сообщений: 1


Репутация:

0

±

Замечаний:
0% ±


Здравствуйте! Нужна помощь в следующем: есть 31 лист (по числу дней в месяце), на каждом из них стоит дата в формате дд.мм.гг. Необходимо сделать так, чтобы при изменении месяца (по прошествии месяца) или года (по прошествии года) на одном листе, менялся месяц/год на другом. ПРоще говоря на листах стоит дата 01.01.13 по 31.01.13 (за январь) Сейчас необходимо поменять на 01.13.13 по 31.03.13 и чтобы в перспективе при изменении месяца или года на одном из листов дата менялась и на всех остальных. Заранее спасибо

 

Ответить

Pelena

Дата: Четверг, 07.03.2013, 07:47 |
Сообщение № 19

Группа: Админы

Ранг: Местный житель

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

На первом листе

Код

=ДАТА(ГОД(СЕГОДНЯ());МЕСЯЦ(СЕГОДНЯ());1)

На остальных либо по аналогии, либо на каждом следующем листе прибавляйте +1 день к предыдущей дате

Если не угадала, создавайте свою тему и прикладывайте файл с примером


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

Автоматическая вставка текущей даты в ячейку при вводе данных

Предположим, у нас имеется таблица заказов, куда пользователь вводит номер заказа, имя клиента, сумму и т.д. Необходимо сделать так, чтобы при внесении номера заказа в столбец А — в столбце B напротив введенного заказа автоматически появлялись дата и время его занесения:

date_auto_enter3.png

Чтобы реализовать такой ввод даты, нам потребуется простой макрос, который надо добавить в модуль рабочего листа. Для этого щелкните правой кнопкой мыши по ярлычку листа с таблицей и выберите в контекстном меню команду Исходный текст (View code).

В открывшееся окно редактора Visual Basic скопируйте этот текст этого макроса:

Private Sub Worksheet_Change(ByVal Target As Range)
    
    For Each cell In Target   'проходим по всем измененным ячейкам
       If Not Intersect(cell, Range("A2:A100")) Is Nothing Then  'если изменененная ячейка попадает в диапазон A2:A100
            With cell.Offset(0, 1)         'вводим в соседнюю справа ячейку дату
               .Value = Now
               .EntireColumn.AutoFit  'выполняем автоподбор ширины для столбца B, чтобы дата умещалась в ячейке
            End With
       End If
    Next cell
End Sub

При необходимости измените «чувствительный» диапазон «А2:А100» на свой собственный. Если необходимо вставлять дату не в соседний столбец, а правее — подставьте в оператор Offset(0,1) вместо 1 число побольше.

Закройте редактор Visual Basic и попробуйте ввести что-нибудь в диапазон А2:А100. В соседней ячейке тут же появится текущая дата-время!

Ссылки по теме

  • Как сделать выпадающий календарь для быстрого ввода любой даты мышью в любую ячейку.
  • Как Excel работает с датами
  • Что такое макрос, как он работает, куда копировать текст макроса, как запустить макрос?

ArtistJoker

0 / 0 / 0

Регистрация: 18.11.2015

Сообщений: 2

1

18.11.2015, 17:43. Показов 9185. Ответов 11

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

Привет, форумчане!

Очень прошу помочь. На работе заполняю отчёт, в котором вручную приходится вставлять дату изменений строки(не просто ячейки) с информацией по клиенту. Искал в сети помощь, нашёл только вот такой код (внесение даты изменений соседней ячейки):
———————————————————————————————————————

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Private Sub Worksheet_Change(ByVal Target As Range)
     
    For Each cell In Target   'проходим по всем измененным ячейкам
       If Not Intersect(cell, Range("A2:A100")) Is Nothing Then  'если изменененная ячейка попадает в диапазон A2:A100
            With cell.Offset(0, 1)         'вводим в соседнюю справа ячейку дату
               .Value = Now
               .EntireColumn.AutoFit  'выполняем автоподбор ширины для столбца B, чтобы дата умещалась в ячейке
            End With
       End If
    Next cell
End Sub

———————————————————————————————————————-
Может быть в этом коде можно внести изменения, чтобы при изменении строки автоматически вставлялась дата в первую ячейку строки. Как это сделать?

Заранее благодарен!

Вложения

Тип файла: xlsx Пример отчёта.xlsx (10.1 Кб, 39 просмотров)



0



Vlad999

3827 / 2254 / 751

Регистрация: 02.11.2012

Сообщений: 5,930

18.11.2015, 17:58

2

Лучший ответ Сообщение было отмечено ArtistJoker как решение

Решение

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cell As Range
Application.EnableEvents = False
For Each cell In Target 'проходим по всем измененным ячейкам
  If Not Intersect(cell, Range("B2:H100")) Is Nothing Then 'если изменененная ячейка попадает в диапазон A2:A100
     With Cells(cell.Row, 1) 'вводим в первый столбец текущей строки ячейку дату
     .Value = Now
     .EntireColumn.AutoFit 'выполняем автоподбор ширины для столбца B, чтобы дата умещалась в ячейке
     End With
   End If
Next cell
Application.EnableEvents = True
End Sub



1



pashulka

4131 / 2235 / 940

Регистрация: 01.12.2010

Сообщений: 4,624

18.11.2015, 18:59

3

Альтернативный вариант (на основании выложенного примера)

Visual Basic
1
2
3
4
5
6
7
8
9
10
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Row > 4 Then
       Application.EnableEvents = False
       With Intersect(Target.EntireRow, [A:A])
            .Value = Date
            .Columns.AutoFit
       End With: [H1] = Now
       Application.EnableEvents = True
    End If
End Sub

или

Visual Basic
1
2
3
4
5
6
7
8
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Row > 4 Then
       Application.EnableEvents = False
       Intersect(Target.EntireRow, [A:A]) = Date
       [H1] = Now: Columns(1).AutoFit
       Application.EnableEvents = True
    End If
End Sub



1



0 / 0 / 0

Регистрация: 18.11.2015

Сообщений: 2

23.11.2015, 17:10

 [ТС]

4

Спасибо, огромное! Всё работает как надо!



0



0 / 0 / 0

Регистрация: 12.02.2020

Сообщений: 23

07.07.2020, 20:58

5

Подскажите как подкорректировать для моего случая:
На первом листе книги имеется диапазон ячеек например А2:V20. В каждую ячейку которого вносятся числовые значения.
Нужно зеркально в те же ячейки на втором листе книги вносить дату и время изменения значения ячеек на первом листе книги.



0



4131 / 2235 / 940

Регистрация: 01.12.2010

Сообщений: 4,624

07.07.2020, 21:00

6

gpetrv, Скажите чей вариант Вы выбрали ?



0



0 / 0 / 0

Регистрация: 12.02.2020

Сообщений: 23

07.07.2020, 22:38

7

pashulka, Мне все равно чей вариант, лишь бы рабочий……и универсальный (изменять диапазоны ячеек)



0



pashulka

4131 / 2235 / 940

Регистрация: 01.12.2010

Сообщений: 4,624

07.07.2020, 22:40

8

Next — следующий лист.

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Private Sub Worksheet_Change(ByVal r As Range)
   Set r = Intersect(r, [A2:V20])
   If r Is Nothing Then Exit Sub
   
   Application.EnableEvents = False
   With Me.Next.Range(r.Address)
        .Value = Now
        .Columns.AutoFit
   End With
   Application.EnableEvents = True
End Sub



1



0 / 0 / 0

Регистрация: 12.02.2020

Сообщений: 23

07.07.2020, 22:51

9

pashulka, А на первом листе?



0



4131 / 2235 / 940

Регистрация: 01.12.2010

Сообщений: 4,624

07.07.2020, 23:18

10

gpetrv, В модуле первого листа — событие Worksheet_Change. Тогда на следующем — будет выводиться дата+время изменения данных ячеек диапазона A2:V20

Если месторасположение второго рабочего листа, в дальнейшем, может меняться, то можно использовать имя этого листа или кодовое(программное) имя. Т.е. вместо Me.Next написать Worksheets(«Лист2») или Лист2 . Разумеется, имена нужно указать свои.



1



0 / 0 / 0

Регистрация: 12.02.2020

Сообщений: 23

29.07.2020, 21:21

11

pashulka, не могу скомпоновать со своим кодом. Не силен…. Помогите..



0



pashulka

4131 / 2235 / 940

Регистрация: 01.12.2010

Сообщений: 4,624

29.07.2020, 22:24

12

Это тоже мой код, но там всего один рабочий лист. Если в реальности появится второй, то между первой и второй

перерывчик небольшой

строкой просто добавьте

Visual Basic
1
2
3
4
5
6
    Application.EnableEvents = False '1
    With Me.Next.Range(r.Address)
        .Value = Now
        .Columns.AutoFit
    End With
    For Each c In r '2



1



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

29.07.2020, 22:24

12

Здравствуйте. Есть таблица, в которой у этапов работ проставлены дата начала и дата конца этапа. Например:
6415e524b2011508176342.png

Предпложим, сейчас идет 1-ый этап.
Вижу, что к сроку 7 марта не успеваю закончить. Таким образом, дата завершения этапа сдвигается.
Я записываю новую дату в ячейку с датой конца 1-го этапа.
Вот что происходит:
6415e603838e3653889597.png

Мне нужно, чтобы сдвинулся весь график работ.
Поскольку дата конца первого этапа сдвинулась на 3 дня вперед, то и остальные даты должны сдвинутся на 3 дня вперед относительно первоначального плана.
Вот так:
6415e67bca137010951500.png

Пробовал мудрить с функцией сегодня и смещением, но запутался и так ничего не сделал…. Помогите написать функцию

Понравилась статья? Поделить с друзьями:
  • Изменение данных таблицы по изменению графика excel
  • Изменение отображение ячеек в excel
  • Изменение основного текста в word
  • Изменение осей в графиках excel
  • Изменение ориентации части документа word