2

Мне было интересно, можно ли добавлять дату каждый раз, когда я открываю свой лист Excel. Я знаю, что функция =TODAY() , как я могу перейти к этому, например, скажем:

       A
1 02/05/2013 (Today's date, it would be automatically written unless it is today's date)
2 03/05/2013 (Tomorrow's date, if I open it tomorrow.) 

1 ответ1

1

Вы можете сделать это с помощью макроса. Workbook_Activate запускается при событии load, поэтому это должно сработать:

Private Sub Workbook_Activate()
    If Not IsEmpty(Range("A1").Value) Then
         Range("A1").Value = Date
    End If         
End Sub

Если это не сработает, измените саб на

Private Sub Workbook_Open()

редактировать

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

Private Sub Workbook_Activate()
    If Not Range("A1").Value = Date Then
         Range("A1").Value = Date
    End If         
End Sub

Если бы это был я, я бы просто перезаписывал значение каждый раз, когда вы загружаете, и не беспокоился бы о чеке, так как это не дорого.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .