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

Вход

Регистрация

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

 

= Мир MS Excel/Дата последнего изменения в ячейке. - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Дата последнего изменения в ячейке. (Макросы/Sub)
Дата последнего изменения в ячейке.
Roman777 Дата: Среда, 22.04.2015, 09:51 | Сообщение № 1
Группа: Проверенные
Ранг: Ветеран
Сообщений: 980
Репутация: 127 ±
Замечаний: 0% ±

Excel 2007, Excel 2013
Добрый день!
Можно ли создать функцию, которая записывала бы дату последнего изменения ячейки?
[vba]
Код
Public Function ДатИзмен(Яч)
ДатИзмен(Яч)='дата изменения ячейки "Яч"
End Function
[/vba]
Вообще в экселе есть фиксирование для каждой ячейки - когда она была изменена (под изменением, в первую очередь, имеется в виду изменение введённого в неё значения)?


Много чего не знаю!!!!
 
Ответить
СообщениеДобрый день!
Можно ли создать функцию, которая записывала бы дату последнего изменения ячейки?
[vba]
Код
Public Function ДатИзмен(Яч)
ДатИзмен(Яч)='дата изменения ячейки "Яч"
End Function
[/vba]
Вообще в экселе есть фиксирование для каждой ячейки - когда она была изменена (под изменением, в первую очередь, имеется в виду изменение введённого в неё значения)?

Автор - Roman777
Дата добавления - 22.04.2015 в 09:51
Manyasha Дата: Среда, 22.04.2015, 10:15 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
Roman777, здравствуйте. Можно записывать на отдельный лист (или в текстовый файл). Например так:[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
     With Sheets("log")
         lr = .Cells(Rows.Count, 1).End(xlUp).Row + 1
         .Range("A" & lr) = Target.Address
         .Range("B" & lr) = Now
     End With
End Sub
[/vba]
К сообщению приложен файл: 7937435.xlsm (15.1 Kb)


ЯД: 410013299366744 WM: R193491431804
 
Ответить
СообщениеRoman777, здравствуйте. Можно записывать на отдельный лист (или в текстовый файл). Например так:[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
     With Sheets("log")
         lr = .Cells(Rows.Count, 1).End(xlUp).Row + 1
         .Range("A" & lr) = Target.Address
         .Range("B" & lr) = Now
     End With
End Sub
[/vba]

Автор - Manyasha
Дата добавления - 22.04.2015 в 10:15
Roman777 Дата: Среда, 22.04.2015, 10:22 | Сообщение № 3
Группа: Проверенные
Ранг: Ветеран
Сообщений: 980
Репутация: 127 ±
Замечаний: 0% ±

Excel 2007, Excel 2013
Manyasha, О! оч прикольный способ. Спасибо).
Хочу сразу уточнить, а если бы я захотел скрыть этот лист "log". В коде мне надо будет его сначало отобразить, а в конце снова скрыть? или не обязательно?


Много чего не знаю!!!!
 
Ответить
СообщениеManyasha, О! оч прикольный способ. Спасибо).
Хочу сразу уточнить, а если бы я захотел скрыть этот лист "log". В коде мне надо будет его сначало отобразить, а в конце снова скрыть? или не обязательно?

Автор - Roman777
Дата добавления - 22.04.2015 в 10:22
Manyasha Дата: Среда, 22.04.2015, 10:45 | Сообщение № 4
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
Roman777, не обязательно. У меня работает и без отображения.
А вот если Вы лист Log защитите, то защиту нужно будет программно снимать и ставить обратно.


ЯД: 410013299366744 WM: R193491431804

Сообщение отредактировал Manyasha - Среда, 22.04.2015, 10:45
 
Ответить
СообщениеRoman777, не обязательно. У меня работает и без отображения.
А вот если Вы лист Log защитите, то защиту нужно будет программно снимать и ставить обратно.

Автор - Manyasha
Дата добавления - 22.04.2015 в 10:45
Roman777 Дата: Среда, 22.04.2015, 10:52 | Сообщение № 5
Группа: Проверенные
Ранг: Ветеран
Сообщений: 980
Репутация: 127 ±
Замечаний: 0% ±

Excel 2007, Excel 2013
Manyasha, Да, я тоже уже попробовал. Спасибо!


Много чего не знаю!!!!
 
Ответить
СообщениеManyasha, Да, я тоже уже попробовал. Спасибо!

Автор - Roman777
Дата добавления - 22.04.2015 в 10:52
_Boroda_ Дата: Среда, 22.04.2015, 10:59 | Сообщение № 6
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
если Вы лист Log защитите, то защиту нужно будет программно снимать и ставить обратно.

Марин, не обязательно каждый раз. Если повесить на открытие книги что-то в этом роде
[vba]
Код
Лист2.Protect Password:="MyPassword", UserInterfaceOnly:=True
[/vba]
, то лист будет защищен только от ручных действий пользователя, а макросом его можно будет менять.
Майкрософтовская объяснялка


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
если Вы лист Log защитите, то защиту нужно будет программно снимать и ставить обратно.

Марин, не обязательно каждый раз. Если повесить на открытие книги что-то в этом роде
[vba]
Код
Лист2.Protect Password:="MyPassword", UserInterfaceOnly:=True
[/vba]
, то лист будет защищен только от ручных действий пользователя, а макросом его можно будет менять.
Майкрософтовская объяснялка

Автор - _Boroda_
Дата добавления - 22.04.2015 в 10:59
Manyasha Дата: Среда, 22.04.2015, 11:05 | Сообщение № 7
Группа: Модераторы
Ранг: Старожил
Сообщений: 2198
Репутация: 898 ±
Замечаний: 0% ±

Excel 2010, 2016
А я даже и не задумывалась о таком способе. Александр, спасибо! Запомню на будущее.


ЯД: 410013299366744 WM: R193491431804
 
Ответить
СообщениеА я даже и не задумывалась о таком способе. Александр, спасибо! Запомню на будущее.

Автор - Manyasha
Дата добавления - 22.04.2015 в 11:05
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Дата последнего изменения в ячейке. (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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