Друзья, я хочу указать время в диапазоне, который не должен обновляться автоматически. Например, если в ячейке № k5 есть какое-либо значение, то текущее время должно автоматически вставляться в ячейку № N5. Точно так же, если есть какое-либо значение в k6, то текущее время должно быть автоматически вставлено в N6, и так далее. Более того, оно не должно обновляться автоматически. Я пытался использовать эту формулу

= ЕСЛИ (К5 <0 "" ЕСЛИ (K5 = 0, "", сейчас ()))

Эта формула работает, но она автоматически обновляет время с помощью системных часов. Я хочу, чтобы это не обновляло время. Вы можете увидеть снимок также - http://i.imgur.com/3JIwORg.png ПОЖАЛУЙСТА, ПОМОГИТЕ МНЕ ...БОЛЬШОЕ СПАСИБО...

1 ответ1

0

Сначала введите данные столбца K, а затем запустите этот короткий макрос:

Sub RecordTime()
   Dim rng As Range, r As Range, d As Date
   Set rng = Intersect(Range(Cells(5, "K"), Cells(Rows.Count, "K")), ActiveSheet.UsedRange)
   d = TimeSerial(Hour(Now()), Minute(Now()), Second(Now()))

   For Each r In rng
      If r.Value <> "" Then
         r.Offset(0, 3) = d
      End If
   Next r
End Sub

EDIT # 1:

Вот автоматическая версия кода. Вставьте следующий макрос событий в область кода рабочего листа:

Private Sub Worksheet_Change(ByVal Target As Range)
   Dim rng As Range, r As Range, d As Date
   Set rng = Intersect(Range(Cells(5, "K"), Cells(Rows.Count, "K")), ActiveSheet.UsedRange)

   If Intersect(Target, rng) Is Nothing Then Exit Sub
   If Target.Count > 1 Then Exit Sub
   If Target.Offset(0, 1).Value <> "" Then Exit Sub

   d = TimeSerial(Hour(Now()), Minute(Now()), Second(Now()))
   Application.EnableEvents = False
      Target.Offset(0, 1).Value = d
   Application.EnableEvents = True

End Sub

Если вы измените ячейку в столбце K, время будет автоматически записано в столбце L.

Поскольку это код рабочего листа, его очень легко установить и использовать автоматически:

  1. щелкните правой кнопкой мыши имя вкладки в нижней части окна Excel
  2. выберите View Code - откроется окно VBE
  3. вставьте материал и закройте окно VBE

Если у вас есть какие-либо проблемы, сначала попробуйте на пробную версию.

Если вы сохраните книгу, макрос будет сохранен вместе с ней. Если вы используете версию Excel более поздней, чем в 2003 году, вы должны сохранить файл как .xlsm, а не .xlsx

Чтобы удалить макрос:

  1. вызвать окна VBE, как указано выше
  2. очистить код
  3. закройте окно VBE

Чтобы узнать больше о макросах в целом, смотрите:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

а также

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

Чтобы узнать больше о макросах событий (код листа), см .:

http://www.mvps.org/dmcritchie/excel/event.htm

Макросы должны быть включены, чтобы это работало!

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