|
Текущая дата к 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 срабатывает при переходе с ячейки на ячейку или при выделении диапазона ячеек. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |