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

http://www.excelworld.ru/publ/hacks/options/pastevalue/36-1-0-101
8 Fish
 
19.10.17
15:42
(4) Тогда имхо без (2) не обойтись.
9 Сергей Д
 
19.10.17
15:46
(7) Разве что только вариант с макросом подойдет. Остальное делается вручную.
10 Tatitutu
 
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) Самый простой способ: написать простенькую программу :)
17 Tatitutu
 
19.10.17
16:49
(15) макрос решит все проблемы

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

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

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

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

End Sub
18 Tatitutu
 
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 срабатывает при переходе с ячейки на ячейку или при выделении диапазона ячеек.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан