Есть потребность контролировать дату и время вводимых данных в определенный лист книги. Уже есть макрос который работает и фиксирует дату и время вводимой информации. в соседней ячейке для каждого из 10 столбцов таблицы. Макрос полностью устраивает и работает исправно. Но, текущая модификация макроса позволяет менять внесенные ранее значения. При смене значения, дата и время актуализируются. Это влияет на дальнейшие расчеты, но дело в том, что иногда такая возможность нужна, а иногда нет, так как может привести к изменению учета. Такое случается не часто, но случается, поэтому вылавливать ошибки важно.
ячейка фиксирующая время и дату всегда слева от той в которую вводится значение. Пример моего макроса (мне его когда то написал один очень добрый человек). Делюсь. очень крутая штука. вдруг кому поможет.
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False On Error Resume Next If InStr(",V,AP,BJ,CD,CX,DR,EL,FF,FZ,GT,", "," & Split(Target.Address, "$")(1) & ",") And Target.Row > 3 Then Target.Offset(0, -1) = IIf(Target <> "", Now, "") Application.EnableEvents = True End Sub
[/vba]
Хотелось бы получить возможность контролировать изменение внесенных данных. То есть макрос который дает изменить ранее заполненную ячейку через пароль и дает список таких изменений на соседний лист.
Приложил образец файла.
Буду рад если кто-нибудь сможет мне помочь.
сам макросы не пишу, максимум могу установить готовый, поэтому если можно, нужен полноценный ответ, то есть готовый полностью код.
Заранее спасибо! [moder]Оформляйте коды тегами (кнопка #). На первый раз исправила за Вас[/moder]
Доброго времени!
есть задача:
Есть потребность контролировать дату и время вводимых данных в определенный лист книги. Уже есть макрос который работает и фиксирует дату и время вводимой информации. в соседней ячейке для каждого из 10 столбцов таблицы. Макрос полностью устраивает и работает исправно. Но, текущая модификация макроса позволяет менять внесенные ранее значения. При смене значения, дата и время актуализируются. Это влияет на дальнейшие расчеты, но дело в том, что иногда такая возможность нужна, а иногда нет, так как может привести к изменению учета. Такое случается не часто, но случается, поэтому вылавливать ошибки важно.
ячейка фиксирующая время и дату всегда слева от той в которую вводится значение. Пример моего макроса (мне его когда то написал один очень добрый человек). Делюсь. очень крутая штука. вдруг кому поможет.
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False On Error Resume Next If InStr(",V,AP,BJ,CD,CX,DR,EL,FF,FZ,GT,", "," & Split(Target.Address, "$")(1) & ",") And Target.Row > 3 Then Target.Offset(0, -1) = IIf(Target <> "", Now, "") Application.EnableEvents = True End Sub
[/vba]
Хотелось бы получить возможность контролировать изменение внесенных данных. То есть макрос который дает изменить ранее заполненную ячейку через пароль и дает список таких изменений на соседний лист.
Приложил образец файла.
Буду рад если кто-нибудь сможет мне помочь.
сам макросы не пишу, максимум могу установить готовый, поэтому если можно, нужен полноценный ответ, то есть готовый полностью код.
Заранее спасибо! [moder]Оформляйте коды тегами (кнопка #). На первый раз исправила за Вас[/moder]Garlem79
Сообщение отредактировал Pelena - Пятница, 04.03.2016, 08:58
Ваша задача решаема но, есть вопросы. 1. Если данные будут просто удалены, дату тоже удалять? Контрольную запись делать? 2. Если данные изменились, дату тоже менять? 3. Где брать имя оператора? 4. Рабочие столбцы в коде (выше) отличают от рабочих столбцов в примере. Это к последующей переделке макроса?
Ваша задача решаема но, есть вопросы. 1. Если данные будут просто удалены, дату тоже удалять? Контрольную запись делать? 2. Если данные изменились, дату тоже менять? 3. Где брать имя оператора? 4. Рабочие столбцы в коде (выше) отличают от рабочих столбцов в примере. Это к последующей переделке макроса? Wasilich
1.Если данные будут удалены, запись (дата/время) в первой таблице тоже удаляется. Сейчас это так работает. ( когда запись удаляется дата исчезает). Но в то же время, нужно чтоб в отчет (лист 2 ) попадала запись о том, что было изменение и что дата прежняя такая-то , дата изменения другая. Для первично вносимых данных попадание данных в отчет (лист 2) не требуется. 2. Если данные изменились дату тоже нужно менять. Сейчас в таблице 1 дата/время меняется после изменения. Это правильно. Если оператор ошибся, он должен иметь возможность изменить данные. (удалить/изменить). Отчет нужен для того, чтобы я мог отследить что и когда было изменено, для того , чтобы иметь возможность восстановить данные в случае необходимости. 3. Имя оператора - имя пользователя компьютера. Если это возможно как-то притянуть к файлу. 4. Да, столбцы я буду прописывать уже в рабочей таблице. Это я умею менять, там просто названия столбцов через запятую. Дело в том, что таблица регулярно дополняется, и мне приходится часто перенастраивать эти столбцы вручную. Просто я ничего не понимаю в самом коде поэтому трудно понять иногда, читая комментарии: уберите ту, поменяйте на это ) я однажды пробовал и ничего не вышло, запутался. )))В итоге, все равно пришлось просить готовый код ) ,
Спасибо, что откликнулись.
1.Если данные будут удалены, запись (дата/время) в первой таблице тоже удаляется. Сейчас это так работает. ( когда запись удаляется дата исчезает). Но в то же время, нужно чтоб в отчет (лист 2 ) попадала запись о том, что было изменение и что дата прежняя такая-то , дата изменения другая. Для первично вносимых данных попадание данных в отчет (лист 2) не требуется. 2. Если данные изменились дату тоже нужно менять. Сейчас в таблице 1 дата/время меняется после изменения. Это правильно. Если оператор ошибся, он должен иметь возможность изменить данные. (удалить/изменить). Отчет нужен для того, чтобы я мог отследить что и когда было изменено, для того , чтобы иметь возможность восстановить данные в случае необходимости. 3. Имя оператора - имя пользователя компьютера. Если это возможно как-то притянуть к файлу. 4. Да, столбцы я буду прописывать уже в рабочей таблице. Это я умею менять, там просто названия столбцов через запятую. Дело в том, что таблица регулярно дополняется, и мне приходится часто перенастраивать эти столбцы вручную. Просто я ничего не понимаю в самом коде поэтому трудно понять иногда, читая комментарии: уберите ту, поменяйте на это ) я однажды пробовал и ничего не вышло, запутался. )))В итоге, все равно пришлось просить готовый код ) ,Garlem79
Это очень круто. Вроде все работает. Я сегодня установлю в оригинальный файл код и попробую. Огромное Вам спасибо. Если что я напишу ) Пока в этом файле вроде все верно работает.
Это очень круто. Вроде все работает. Я сегодня установлю в оригинальный файл код и попробую. Огромное Вам спасибо. Если что я напишу ) Пока в этом файле вроде все верно работает.Garlem79