Страницы: 1
RSS
При значении "ДА" фиксация текущей даты
 
Приветствую всех мастеров Экселя)
Вопрос следующий...как при значении "ДА", зафиксировать текущую дату? Т.е., чтобы она не изменялась на следующий день?
В моем же примере, при значении "ДА", будет постоянно обновление на текущую дату...а как ее зафиксировать в день изменения на значение "ДА"?
Изменено: VVD88 - 17.03.2017 10:39:17
 
макросом на изменение значения ячейки на "да" подставить значение текущей даты
 
Код в модуль Лист1
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, [a1]) Is Nothing And Target.Count = 1 Then
        If Target = "да" Then Target.Offset(0, 1) = Date
    End If
End Sub
 
Спасибо большое)...я в макросах не эксперт...завтра посмотрю, изменится дата или нет. Спасибо)
 
VVD88, зачем для этого ждать завтрашнего дня? Просто поменяйте дату в компьютере.
 
Если текущую дату зафиксировать - она перестанет быть текущей. Вам не кажется, что здесь есть противоречие?
Если нужно, чтобы дата зафиксировалась, зафиксируйте её, вбив в ячейку руками.
А лучше бы рассказали, зачем Вам это и что с этим планируете делать :)
Изменено: Михаил Лебедев - 17.03.2017 11:49:33
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
 
-Зачем нужно?...для минимизации ручной работы. Противоречие есть, поэтому и написал сюда с вопросом, есть ли способ, который позволяет фиксировать текущую дату. Спасибо за пример, но он не подходит.
Изменено: VVD88 - 17.03.2017 11:59:58
 
Код в модуль не помогает(
Есть еще какие то варианты?
 
куда именно вы его вставили?
 
Может что то не то делаю?
 
Аааа....все, понял...спасибо)
 
Я только не понимаю, а какая строка отвечает за то, чтобы дата фиксировалась в ячейке b1?...уж простите делитанта
 
На всякий случай offset = смещение...
Если автоматизировать бардак, то получится автоматизированный бардак.
 
Почему в вашем примере в третьей строке Target="b1"? Разумеется, если так написать, то ничего не будет работать.
Код
Private Sub Worksheet_Change(ByVal Target As Range)'запуск макроса при каждом изменении ячейки на текущем листе
    If Not Intersect(Target, [a1]) Is Nothing And Target.Count = 1 Then'если изменившаяся ячейка = А1, и изменилась только одна ячейка, то
        If Target = "да" Then Target.Offset(0, 1) = Date'если значение А1 = "Да", тогда в ячейку Б1 (которая смещена от А1 на 0 строк и 1 столбец вправо) прописываем текущую дату.
    End If'конец условия
End Sub'конец макроса
 
Да, я понял сразу после Вашего второго примера. Спасибо, во всем разобрался.
 
Я правильно понимаю, что дата не будет изменяться на текущую каждый день....т.е. при значении "ДА" фиксируется текущая дата без последующего обновления?
Страницы: 1
Читают тему
Наверх