Прошу оказать помощь, в екселе реализован журнал заявок, в последнее время стало видно, что сотрудники халтурят, и ставят не правильное время.
Необходимо сделать, чтоб при вводе описания(открытия или закрытия заявок) в соседней ячейке добавлялось время и дата когда была сделана запись. ввесь столбец с датами и временем естесственно будет защищен от ручного ввода. Также было бы не плохо чтоб при нажатии ентер вся строка с заявкой стала защищена от ручного ввода(изменения)
Добрый день,
Прошу оказать помощь, в екселе реализован журнал заявок, в последнее время стало видно, что сотрудники халтурят, и ставят не правильное время.
Необходимо сделать, чтоб при вводе описания(открытия или закрытия заявок) в соседней ячейке добавлялось время и дата когда была сделана запись. ввесь столбец с датами и временем естесственно будет защищен от ручного ввода. Также было бы не плохо чтоб при нажатии ентер вся строка с заявкой стала защищена от ручного ввода(изменения)nipopadyuk
Макросом это решается, давайте пример файла. Хотя, в условиях, когда лист будет защищен - не знаю как это реализовать, макрос-то тоже будет блокироваться :-(
Макросом это решается, давайте пример файла. Хотя, в условиях, когда лист будет защищен - не знаю как это реализовать, макрос-то тоже будет блокироваться :-(ArkaIIIa
Сообщение отредактировал ArkaIIIa - Пятница, 11.07.2014, 12:58
Дополнение, при вводе значений в столбце G дата и время должны проставляется в столбце С, при вводе в I в столбце D блокировать всю строку не надо будет...
Дополнение, при вводе значений в столбце G дата и время должны проставляется в столбце С, при вводе в I в столбце D блокировать всю строку не надо будет...nipopadyuk
Private Sub Worksheet_Change(ByVal Target As Range) For Each cell In Target 'проходим по всем измененным ячейкам If Not Intersect(cell, Range("A2:F65536")) Is Nothing Then With Range("G" & cell.Row) ActiveSheet.Unprotect Password:="1234" .Value = Now ActiveSheet.Protect Password:="1234" End With End If Next cell End Sub
[/vba] с защитой паролем. Упс, надо подправить под вновь появившийся файл
Как вариант макроса:[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) For Each cell In Target 'проходим по всем измененным ячейкам If Not Intersect(cell, Range("A2:F65536")) Is Nothing Then With Range("G" & cell.Row) ActiveSheet.Unprotect Password:="1234" .Value = Now ActiveSheet.Protect Password:="1234" End With End If Next cell End Sub
[/vba] с защитой паролем. Упс, надо подправить под вновь появившийся файл igrtsk
Инструктор по применению лосей в кавалерийских частях РККА
Сообщение отредактировал igrtsk - Пятница, 11.07.2014, 13:41
Энтер макрос нажимает за вас, указывая в ячейке столбца С дату и время изменения записи в ячейке столбца G [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) For Each cell In Target 'проходим по всем измененным ячейкам If Not Intersect(cell, Range("G2:G65536")) Is Nothing Then With Range("C" & cell.Row) ActiveSheet.Unprotect Password:="1234" 'отключение защиты для работы макроса .Value = Now ActiveSheet.Protect Password:="1234" 'включение защиты по окончании работы макроса End With End If Next cell End Sub
[/vba] Макрос вставлять в модуль листа. Не забываем защищать ячейки, которые пользователь не должен иметь возможность исправить
Энтер макрос нажимает за вас, указывая в ячейке столбца С дату и время изменения записи в ячейке столбца G [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) For Each cell In Target 'проходим по всем измененным ячейкам If Not Intersect(cell, Range("G2:G65536")) Is Nothing Then With Range("C" & cell.Row) ActiveSheet.Unprotect Password:="1234" 'отключение защиты для работы макроса .Value = Now ActiveSheet.Protect Password:="1234" 'включение защиты по окончании работы макроса End With End If Next cell End Sub
[/vba] Макрос вставлять в модуль листа. Не забываем защищать ячейки, которые пользователь не должен иметь возможность исправитьigrtsk
Инструктор по применению лосей в кавалерийских частях РККА
Сообщение отредактировал igrtsk - Пятница, 11.07.2014, 14:18
Что-то я не так делаю(( не работает открыл вкладку ВИД, макросы, маккросы, ввел название Worksheet_Change нажал СОЗДАТЬ, скопировал текст, сохранил, в итоге ничего не работает((((
Что-то я не так делаю(( не работает открыл вкладку ВИД, макросы, маккросы, ввел название Worksheet_Change нажал СОЗДАТЬ, скопировал текст, сохранил, в итоге ничего не работает((((nipopadyuk
Это макрос листа, а не макрос модуля книги. делать надо так: Ярлык листа - правой клавишей мыши вызывавем контекстное меню - выбираем "исходный текст" - в появившуюся страницу вставляем макрос. Сохраняем, закрываем. макрос работает автоматически в открытой книге. Внесите какие-нибудь изменения в любую ячейку столбца G2 и в ячейке столбца C появится дата и время изменения ячейки столбца G2 Защищаемые ячейки листа тут же будут автоматически защищены паролем "1234"
Это макрос листа, а не макрос модуля книги. делать надо так: Ярлык листа - правой клавишей мыши вызывавем контекстное меню - выбираем "исходный текст" - в появившуюся страницу вставляем макрос. Сохраняем, закрываем. макрос работает автоматически в открытой книге. Внесите какие-нибудь изменения в любую ячейку столбца G2 и в ячейке столбца C появится дата и время изменения ячейки столбца G2 Защищаемые ячейки листа тут же будут автоматически защищены паролем "1234"