Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Как автоматически зафиксировать время изменения ячейки - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Как автоматически зафиксировать время изменения ячейки
balancea Дата: Пятница, 22.11.2013, 15:21 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 60% ±

Excel 2013
Помогите решить довольно сложную проблему. Есть таблица (приложил ниже) в которой необходимо, чтобы при заполнении ячейки в одном столбце (из выпадающего списка), в соседнюю ячейку в другом столбце проставлялось текущее время и навсегда фиксировалось.

Удалось решить эту проблему используя в меню "Исходный код" следующего кода:

[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Intersect(Me.UsedRange.Columns(3), Target) Is Nothing Then Exit Sub
Application.EnableEvents = False
If Target = "" Then Target.Next = "" Else Target.Next = Now
Application.EnableEvents = True
End Sub
[/vba]

Однако, мне необходимо чтобы такое время проставлялось и фиксировалось не в одном случае, а в целых трех случаях. Это - "Поступление заявки", "Время начала" и "Время конца". Есть этот код вставить еще раз и заменить значения столбца, то ничего не работает.

Надеюсь на Вашу помощь!

P.S. Я в макросах разбираюсь плохо и код этот нашел в интернете.
К сообщению приложен файл: 2843209.xlsm (16.1 Kb)


Сообщение отредактировал balancea - Пятница, 22.11.2013, 15:22
 
Ответить
СообщениеПомогите решить довольно сложную проблему. Есть таблица (приложил ниже) в которой необходимо, чтобы при заполнении ячейки в одном столбце (из выпадающего списка), в соседнюю ячейку в другом столбце проставлялось текущее время и навсегда фиксировалось.

Удалось решить эту проблему используя в меню "Исходный код" следующего кода:

[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Intersect(Me.UsedRange.Columns(3), Target) Is Nothing Then Exit Sub
Application.EnableEvents = False
If Target = "" Then Target.Next = "" Else Target.Next = Now
Application.EnableEvents = True
End Sub
[/vba]

Однако, мне необходимо чтобы такое время проставлялось и фиксировалось не в одном случае, а в целых трех случаях. Это - "Поступление заявки", "Время начала" и "Время конца". Есть этот код вставить еще раз и заменить значения столбца, то ничего не работает.

Надеюсь на Вашу помощь!

P.S. Я в макросах разбираюсь плохо и код этот нашел в интернете.

Автор - balancea
Дата добавления - 22.11.2013 в 15:21
KuklP Дата: Пятница, 22.11.2013, 15:38 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
     If Target.Count > 1 Then Exit Sub
     If Intersect(Me.UsedRange, Me.[c:c,e:e,g:g], Target) Is Nothing Then Exit Sub
     Target.Next = IIf(Target = "", "", Now)
End Sub
[/vba]


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728


Сообщение отредактировал KuklP - Пятница, 22.11.2013, 15:44
 
Ответить
Сообщение[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
     If Target.Count > 1 Then Exit Sub
     If Intersect(Me.UsedRange, Me.[c:c,e:e,g:g], Target) Is Nothing Then Exit Sub
     Target.Next = IIf(Target = "", "", Now)
End Sub
[/vba]

Автор - KuklP
Дата добавления - 22.11.2013 в 15:38
balancea Дата: Пятница, 22.11.2013, 15:47 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 60% ±

Excel 2013
Спасибо огромное за оперативный ответ!! Работает!)
 
Ответить
СообщениеСпасибо огромное за оперативный ответ!! Работает!)

Автор - balancea
Дата добавления - 22.11.2013 в 15:47
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!