Вход | Регистрация

Информационные технологии :: Администрирование

Текущая дата к EXCEL

Текущая дата к EXCEL
Я
   Сергей Д
 
19.10.17 - 15:24
Доброго всем дня
Есть excel-файл с 2 столбцами (на самом деле их больше): "Отправлен на доработку" (флаг: 0-не отправлен, 1-отправлен) и "Дата отправки на доработку". Хочу, чтобы когда в "Отправлен на доработку" ставится "0", поле "Дата отправки на доработку" очищалось, а когда ставится "1" -  заполнялось текущей датой. Но при этом дата в столбце "Дата отправки на доработку" не должна меняться до следующего изменения столбца "Отправлен на доработку" (поэтому ЕСЛИ с ТДАТА не подходит, потому что пока стоит "1" она постоянно обновляет дату).
 
 
   Fish
 
1 - 19.10.17 - 15:26
Ничего не понятно :)
   Tatitutu
 
2 - 19.10.17 - 15:28
макрос напиши
   VS-1976
 
3 - 19.10.17 - 15:28
Всё понятно... Есть... Хочу... но не могу. KPI не позволяет всё писать самому.
   Сергей Д
 
4 - 19.10.17 - 15:30
(1) Объясняю на пальцах. Есть функция ТДАДА - текущая дата. В ячейку пишу формулу: ЕСЛИ(А1=1;ТДАТА();""). Ячейка заполняется значением, скажем, 19.10.2017 15:20. Сохраняю книгу, закрываю. Через минуту открываю. Там стоит 19.10.2017 15:21. А надо, чтоб сохранилось 19.10.2017 15:20.
   perester
 
5 - 19.10.17 - 15:30
=(а1=истина,тдата(),)
Типа так?
   perester
 
6 - 19.10.17 - 15:32
(5) упс, уже неактуально)
   Tatitutu
 
7 - 19.10.17 - 15:35
(4) почитай полезно будет - 5 вариантов твоего решения

http://www.excelworld.ru/publ/hacks/options/pastevalue/36-1-0-101
   Fish
 
8 - 19.10.17 - 15:42
(4) Тогда имхо без (2) не обойтись.
   Сергей Д
 
9 - 19.10.17 - 15:46
(7) Разве что только вариант с макросом подойдет. Остальное делается вручную.
   Tatitutu
 
10 - 19.10.17 - 15:52
(9) можно сделать и без макроса
и обойтись только твоей формулой ЕСЛИ(А1=1;ТДАТА();"")
 
 Рекламное место пустует
   Сергей Д
 
11 - 19.10.17 - 16:12
(10) Как, чтобы дата не менялась при изменении даты-времени, а менялась только при изменении столбца "Отправлен на доработку"?
   Масянька
 
12 - 19.10.17 - 16:14
(4) Объясни на пальцах: есть док-т,  в ячейке стоит формула ЕСЛИ(А1=1;ТДАТА();""), где ТДАТА() - текущая дата+время. Как ты хочешь, чтобы данная формула отработала при открытии док-та?
   Масянька
 
13 - 19.10.17 - 16:15
(8) ИМХО, и макрос не поможет.
   Сергей Д
 
14 - 19.10.17 - 16:33
(12) А это и есть суть вопроса. Может быть, есть другие пути, не формулами, а как-то еще. Или может быть можно настроить формулу, чтобы она выполнялась при определенных действиях, а не всегда...
   Сергей Д
 
15 - 19.10.17 - 16:35
(12) Самый простой способ: при изменении одного поля вручную менять другое. Но мы ж программисты или где? Хочется автоматизации. :)
   Масянька
 
16 - 19.10.17 - 16:49
(15) Самый простой способ: написать простенькую программу :)
   Tatitutu
 
17 - 19.10.17 - 16:49
(15) макрос решит все проблемы

//предо определенное событие
//срабатывает на любое изменение ячейки
//вот и обрабатывай

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

MsgBox Target.Address //вернет $A$2 если менять ячейка А2

//проверил твой диапазон - изменил соседний
//ТДАТА() на VBA - NOW()

End Sub
   Tatitutu
 
18 - 19.10.17 - 16:58
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target,Range("А:А")) Is Nothing Then
        MsgBox "Изменил ячейку(ки) столбца А: " & Intersect(Target,Range("А:А")).Address
    End If
End Sub
   Сергей Д
 
19 - 19.10.17 - 17:04
(17) Спасибо
Помог макрос, только на событие Worksheet_Change. Worksheet_SelectionChange срабатывает при переходе с ячейки на ячейку или при выделении диапазона ячеек.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует