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

Вход

Регистрация

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

 

= Мир MS Excel/Фиксация времени изменения в ячейке - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Фиксация времени изменения в ячейке
light26 Дата: Вторник, 30.08.2011, 18:43 | Сообщение № 1
Группа: Друзья
Ранг: Старожил
Сообщений: 1352
Репутация: 91 ±
Замечаний: 0% ±

2007, 2010, 2013
Всем доброго времени суток.
Подобные темы уже проскальзывали на форуме, но как называются я не помню, а через поиск по ключевым словам не нашел.
Задача:
1. При выборе ячеек столбцов O, P, Q появляется календарь и можно выбрать дату и время. Такой макрос есть в "Готовых решениях", но он только для даты. Время там не выберешь
2. В ячейках столбцов от Х до АВ должно появляться время/дата та, когда были произведены изменения в столбце В. Причем, в зависимости от выбора из выпадающего списка ячеек столбца В, время/дата должны заноситься в соответствующую ячейку соответствующей строки диапазона от Х до АВ. Например. в ячейке В10 из выпадающего списка выбираем "В работе". Происходит это в 14:32 31.09.11. Значит в строке Y10 появляется запись: 14:32 31.09.11. Затем в 11:17 02.11.11 в ячейке В10 ставим "Выполнен". Значит в ячейке Z10 появляется запись: 11:17 02.11.11 и т.д.
К сообщению приложен файл: 5838585.xls (49.0 Kb)


Я не волшебник. Я только учусь

Сообщение отредактировал light26 - Вторник, 30.08.2011, 18:47
 
Ответить
СообщениеВсем доброго времени суток.
Подобные темы уже проскальзывали на форуме, но как называются я не помню, а через поиск по ключевым словам не нашел.
Задача:
1. При выборе ячеек столбцов O, P, Q появляется календарь и можно выбрать дату и время. Такой макрос есть в "Готовых решениях", но он только для даты. Время там не выберешь
2. В ячейках столбцов от Х до АВ должно появляться время/дата та, когда были произведены изменения в столбце В. Причем, в зависимости от выбора из выпадающего списка ячеек столбца В, время/дата должны заноситься в соответствующую ячейку соответствующей строки диапазона от Х до АВ. Например. в ячейке В10 из выпадающего списка выбираем "В работе". Происходит это в 14:32 31.09.11. Значит в строке Y10 появляется запись: 14:32 31.09.11. Затем в 11:17 02.11.11 в ячейке В10 ставим "Выполнен". Значит в ячейке Z10 появляется запись: 11:17 02.11.11 и т.д.

Автор - light26
Дата добавления - 30.08.2011 в 18:43
RAN Дата: Вторник, 30.08.2011, 21:32 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Соответствие в файле еще то!
В списке 7 позиций, столбцов - 5.
Порядок позиций в списке один, порядок столбцов другой.
А ведь эксперт! biggrin
Для "зарегистрировано" развернул дату и время.
Если есть желание - по образцу! cool
К сообщению приложен файл: 0__5838585.xls (77.5 Kb)


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RAN - Вторник, 30.08.2011, 21:34
 
Ответить
СообщениеСоответствие в файле еще то!
В списке 7 позиций, столбцов - 5.
Порядок позиций в списке один, порядок столбцов другой.
А ведь эксперт! biggrin
Для "зарегистрировано" развернул дату и время.
Если есть желание - по образцу! cool

Автор - RAN
Дата добавления - 30.08.2011 в 21:32
light26 Дата: Вторник, 30.08.2011, 22:07 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 1352
Репутация: 91 ±
Замечаний: 0% ±

2007, 2010, 2013
Все там правильно. Специфика такого построения таблицы обусловлена требованиями отчетности. А как насчет календаря?
Не, я конечно и за это премного благодарен, но все-же...


Я не волшебник. Я только учусь

Сообщение отредактировал light26 - Среда, 31.08.2011, 00:00
 
Ответить
СообщениеВсе там правильно. Специфика такого построения таблицы обусловлена требованиями отчетности. А как насчет календаря?
Не, я конечно и за это премного благодарен, но все-же...

Автор - light26
Дата добавления - 30.08.2011 в 22:07
light26 Дата: Среда, 31.08.2011, 07:58 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1352
Репутация: 91 ±
Замечаний: 0% ±

2007, 2010, 2013
Уррррррааааа!!!!!! Я сам допер где, как и что надо поменять в теле написанного RAN макроса ))))
Благо макрос простенький smile


Я не волшебник. Я только учусь

Сообщение отредактировал light26 - Среда, 31.08.2011, 12:09
 
Ответить
СообщениеУррррррааааа!!!!!! Я сам допер где, как и что надо поменять в теле написанного RAN макроса ))))
Благо макрос простенький smile

Автор - light26
Дата добавления - 31.08.2011 в 07:58
nosbuka Дата: Суббота, 24.11.2012, 02:17 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Добрый день.
У меня похожая ситуация, правда, как я думаю, немного легче. Но я все равно не могу понять, что я делаю не так.
Пожалуйста, объясните.
Мне необходимо, чтобы при выставлении позиции из списка (ячейка А1:А16) в ячейке (B1:B16) отображалась дата и время выставления самой позиции.
Сделал так, как указывалось в предыдущем примере, но, видимо, чего-то не учел.
Буду очень благодарен за объяснения.
К сообщению приложен файл: 7195776.xlsm (21.4 Kb)
 
Ответить
СообщениеДобрый день.
У меня похожая ситуация, правда, как я думаю, немного легче. Но я все равно не могу понять, что я делаю не так.
Пожалуйста, объясните.
Мне необходимо, чтобы при выставлении позиции из списка (ячейка А1:А16) в ячейке (B1:B16) отображалась дата и время выставления самой позиции.
Сделал так, как указывалось в предыдущем примере, но, видимо, чего-то не учел.
Буду очень благодарен за объяснения.

Автор - nosbuka
Дата добавления - 24.11.2012 в 02:17
KuklP Дата: Суббота, 24.11.2012, 11:02 | Сообщение № 6
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Всего-то циферку поменять:
[vba]
Code
If Not Intersect(Target, Columns(1)) Is Nothing Then
[/vba]
а вообще Вам достаточно:
[vba]
Code
Private Sub Worksheet_Change(ByVal Target As Range)
      If Intersect(Target, Columns(1)) Is Nothing Or Target.Count <> 1 Then Exit Sub
      Target.Offset(, 1) = Format(Now, "hh:nn DD.MM.YYYY")
End Sub
[/vba]
И больше ничего не надо.


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


Сообщение отредактировал KuklP - Суббота, 24.11.2012, 11:10
 
Ответить
СообщениеВсего-то циферку поменять:
[vba]
Code
If Not Intersect(Target, Columns(1)) Is Nothing Then
[/vba]
а вообще Вам достаточно:
[vba]
Code
Private Sub Worksheet_Change(ByVal Target As Range)
      If Intersect(Target, Columns(1)) Is Nothing Or Target.Count <> 1 Then Exit Sub
      Target.Offset(, 1) = Format(Now, "hh:nn DD.MM.YYYY")
End Sub
[/vba]
И больше ничего не надо.

Автор - KuklP
Дата добавления - 24.11.2012 в 11:02
RAN Дата: Суббота, 24.11.2012, 11:20 | Сообщение № 7
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Или так

[vba]
Code
Private Sub Worksheet_Change(ByVal Target As Range)
     If Target.Count <> 1 Then Exit Sub
     If Not Intersect(Target, Columns(1)) Is Nothing Then
         If Len(Target) Then Target(, 2) = Date Else Target(, 2) = ""
     End If
End Sub
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеИли так

[vba]
Code
Private Sub Worksheet_Change(ByVal Target As Range)
     If Target.Count <> 1 Then Exit Sub
     If Not Intersect(Target, Columns(1)) Is Nothing Then
         If Len(Target) Then Target(, 2) = Date Else Target(, 2) = ""
     End If
End Sub
[/vba]

Автор - RAN
Дата добавления - 24.11.2012 в 11:20
nosbuka Дата: Суббота, 24.11.2012, 16:18 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Спасибо Вам большое!)
Все работает, я знал, что истина где-то рядом)
 
Ответить
СообщениеСпасибо Вам большое!)
Все работает, я знал, что истина где-то рядом)

Автор - nosbuka
Дата добавления - 24.11.2012 в 16:18
nosbuka Дата: Воскресенье, 25.11.2012, 18:57 | Сообщение № 9
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Вынужден снова просить Вашей помощи.
Теперь мне необходимо защитить от форматирования ячейки, в которых логируется время. Но если я ставлю на них защиту- каждый раз при срабатывании макроса вылезает ошибка- он же по сути ячейку-то меняет. Можно ли дня него сделать некий обход, чтобы он не реагировал на то, что ячейка защищена и все-равно вносил изменения?
 
Ответить
СообщениеВынужден снова просить Вашей помощи.
Теперь мне необходимо защитить от форматирования ячейки, в которых логируется время. Но если я ставлю на них защиту- каждый раз при срабатывании макроса вылезает ошибка- он же по сути ячейку-то меняет. Можно ли дня него сделать некий обход, чтобы он не реагировал на то, что ячейка защищена и все-равно вносил изменения?

Автор - nosbuka
Дата добавления - 25.11.2012 в 18:57
RAN Дата: Воскресенье, 25.11.2012, 19:04 | Сообщение № 10
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщениеhttp://www.excel-vba.ru/chto-um....makrosa

Автор - RAN
Дата добавления - 25.11.2012 в 19:04
nosbuka Дата: Воскресенье, 25.11.2012, 19:40 | Сообщение № 11
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Спасибо, я видел этот пост.
Видимо, я не туда вписываю код..
Ставлю защиту листа, пароль 1111, меняю значение ячейки - макрос ломается.
К сообщению приложен файл: 7195776-1-.xlsm (22.7 Kb)
 
Ответить
СообщениеСпасибо, я видел этот пост.
Видимо, я не туда вписываю код..
Ставлю защиту листа, пароль 1111, меняю значение ячейки - макрос ломается.

Автор - nosbuka
Дата добавления - 25.11.2012 в 19:40
nosbuka Дата: Воскресенье, 25.11.2012, 20:13 | Сообщение № 12
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Разобрался. Огромное Вам спасибо!
 
Ответить
СообщениеРазобрался. Огромное Вам спасибо!

Автор - nosbuka
Дата добавления - 25.11.2012 в 20:13
RAN Дата: Воскресенье, 25.11.2012, 20:16 | Сообщение № 13
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
1. Для того, чтобы код Sub Protect_for_User_Non_for_VBA() сработал, его надо запустить. Это можно делать и вручную, но лучше поместить код в модуль "ЭтаКнига" на событие Private Sub Workbook_Open().
2. Поскольку этот код не выполнен, в макросе возникает ошибка, и макрос останавливается. Но к тому времени уже выполнена команда Application.EnableEvents = False, отключающая обработку событий в приложении. Для того, чтобы обработка событий заработала, нужно выполнить код Application.EnableEvents = True.
3. Макрос для light26 выполнял несколько другие функции. В вашем случае нет необходимости отслеживать, что написано в ячейке, т.е. массив и проверка того, что записано в той или иной ячейке не требуется. Возьмите любой из предложенных вам вариантов, и не усложняйте себе жизнь


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RAN - Воскресенье, 25.11.2012, 20:17
 
Ответить
Сообщение1. Для того, чтобы код Sub Protect_for_User_Non_for_VBA() сработал, его надо запустить. Это можно делать и вручную, но лучше поместить код в модуль "ЭтаКнига" на событие Private Sub Workbook_Open().
2. Поскольку этот код не выполнен, в макросе возникает ошибка, и макрос останавливается. Но к тому времени уже выполнена команда Application.EnableEvents = False, отключающая обработку событий в приложении. Для того, чтобы обработка событий заработала, нужно выполнить код Application.EnableEvents = True.
3. Макрос для light26 выполнял несколько другие функции. В вашем случае нет необходимости отслеживать, что написано в ячейке, т.е. массив и проверка того, что записано в той или иной ячейке не требуется. Возьмите любой из предложенных вам вариантов, и не усложняйте себе жизнь

Автор - RAN
Дата добавления - 25.11.2012 в 20:16
vovin_fm Дата: Четверг, 25.04.2013, 23:43 | Сообщение № 14
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

2016
Цитата (RAN)
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count <> 1 Then Exit Sub
If Not Intersect(Target, Columns(1)) Is Nothing Then
If Len(Target) Then Target(, 2) = Date Else Target(, 2) = ""
End If
End Sub
[/vba]

RAN,

Добрый вечер! Нужна помощь!
Следуя Вашему примеру попытался сделать автоматическое отображения даты в столбце "B" при изменение параметра списка в столбце "D" в каждой строке, но ничего не получилось! Необходимо чтобы дата менялась на всю возможную длину столбца, т.к. к этому списку постоянно добавляется новая информация. (Моё первое общение с VBA)
Заранее спасибо!!
 
Ответить
Сообщение
Цитата (RAN)
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count <> 1 Then Exit Sub
If Not Intersect(Target, Columns(1)) Is Nothing Then
If Len(Target) Then Target(, 2) = Date Else Target(, 2) = ""
End If
End Sub
[/vba]

RAN,

Добрый вечер! Нужна помощь!
Следуя Вашему примеру попытался сделать автоматическое отображения даты в столбце "B" при изменение параметра списка в столбце "D" в каждой строке, но ничего не получилось! Необходимо чтобы дата менялась на всю возможную длину столбца, т.к. к этому списку постоянно добавляется новая информация. (Моё первое общение с VBA)
Заранее спасибо!!

Автор - vovin_fm
Дата добавления - 25.04.2013 в 23:43
RAN Дата: Пятница, 26.04.2013, 00:28 | Сообщение № 15
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
     If Target.Count <> 1 Then Exit Sub
     If Not Intersect(Target, Columns(4)) Is Nothing Then
         If Len(Target) Then Target.Offset(, -2) = Date Else Target.Offset(, -2) = ""
     End If
End Sub
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
     If Target.Count <> 1 Then Exit Sub
     If Not Intersect(Target, Columns(4)) Is Nothing Then
         If Len(Target) Then Target.Offset(, -2) = Date Else Target.Offset(, -2) = ""
     End If
End Sub
[/vba]

Автор - RAN
Дата добавления - 26.04.2013 в 00:28
oxid Дата: Четверг, 22.08.2013, 17:19 | Сообщение № 16
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Привет.
Ребят, помоги те пожалуйста, я в VBA совсем не алё, пользуюсь готовыми решениями, подгоняя их по своим требованиям.
Способ о котором идет речь в этой ветке, подходит к моим требованиям, но разобраться с ним не могу никак, голову уже сломал.

Суть:
- При смене статуса (оранж. поле) из выпадающего списка, хочу чтобы ставилось время смены статуса в соответствующем поле.
- Та же ситуация с Объектами (синее поле), при выборе Объекта, хочу чтобы проставлялось время его выбора в горизонте в соответствующем поле.

Но есть сложность, в файле уже работает один макрос, в первой группировке, фиксирует время прихода при выборе имени сотрудника.

Помогите плиз, вот надо сделать велосипед их этого файл и превратить в конфетку.

Как реализовать проставление даты при выборе статусов из выпадающего списка?
К сообщению приложен файл: _____2013_.xlsm (23.2 Kb)


Сообщение отредактировал oxid - Четверг, 22.08.2013, 17:19
 
Ответить
СообщениеПривет.
Ребят, помоги те пожалуйста, я в VBA совсем не алё, пользуюсь готовыми решениями, подгоняя их по своим требованиям.
Способ о котором идет речь в этой ветке, подходит к моим требованиям, но разобраться с ним не могу никак, голову уже сломал.

Суть:
- При смене статуса (оранж. поле) из выпадающего списка, хочу чтобы ставилось время смены статуса в соответствующем поле.
- Та же ситуация с Объектами (синее поле), при выборе Объекта, хочу чтобы проставлялось время его выбора в горизонте в соответствующем поле.

Но есть сложность, в файле уже работает один макрос, в первой группировке, фиксирует время прихода при выборе имени сотрудника.

Помогите плиз, вот надо сделать велосипед их этого файл и превратить в конфетку.

Как реализовать проставление даты при выборе статусов из выпадающего списка?

Автор - oxid
Дата добавления - 22.08.2013 в 17:19
RAN Дата: Пятница, 23.08.2013, 00:17 | Сообщение № 17
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Но есть сложность, в файле уже работает один макрос

Никакой ложности здесь нет.
При смене статуса (оранж. поле) из выпадающего списка, хочу чтобы

Ежели-бы вы потрудились сделать эти списки...
А на нет и ...


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
Но есть сложность, в файле уже работает один макрос

Никакой ложности здесь нет.
При смене статуса (оранж. поле) из выпадающего списка, хочу чтобы

Ежели-бы вы потрудились сделать эти списки...
А на нет и ...

Автор - RAN
Дата добавления - 23.08.2013 в 00:17
  • Страница 1 из 1
  • 1
Поиск:

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