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

Вход

Регистрация

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

 

= Мир MS Excel/контроль времени ввода и изменения уже введенных данных - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » контроль времени ввода и изменения уже введенных данных (Макросы/Sub)
контроль времени ввода и изменения уже введенных данных
Garlem79 Дата: Пятница, 04.03.2016, 02:29 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Доброго времени!

есть задача:

Есть потребность контролировать дату и время вводимых данных в определенный лист книги. Уже есть макрос который работает и фиксирует дату и время вводимой информации. в соседней ячейке для каждого из 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]


Сообщение отредактировал Pelena - Пятница, 04.03.2016, 08:58
 
Ответить
СообщениеДоброго времени!

есть задача:

Есть потребность контролировать дату и время вводимых данных в определенный лист книги. Уже есть макрос который работает и фиксирует дату и время вводимой информации. в соседней ячейке для каждого из 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
Дата добавления - 04.03.2016 в 02:29
Garlem79 Дата: Пятница, 04.03.2016, 02:29 | Сообщение № 2
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
пример файла
К сообщению приложен файл: 2700013.xlsx (10.6 Kb)
 
Ответить
Сообщениепример файла

Автор - Garlem79
Дата добавления - 04.03.2016 в 02:29
Wasilich Дата: Пятница, 04.03.2016, 23:50 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 0% ±

2003
Ваша задача решаема но, есть вопросы.
1. Если данные будут просто удалены, дату тоже удалять? Контрольную запись делать?
2. Если данные изменились, дату тоже менять?
3. Где брать имя оператора?
4. Рабочие столбцы в коде (выше) отличают от рабочих столбцов в примере. Это к последующей переделке макроса? :)
 
Ответить
СообщениеВаша задача решаема но, есть вопросы.
1. Если данные будут просто удалены, дату тоже удалять? Контрольную запись делать?
2. Если данные изменились, дату тоже менять?
3. Где брать имя оператора?
4. Рабочие столбцы в коде (выше) отличают от рабочих столбцов в примере. Это к последующей переделке макроса? :)

Автор - Wasilich
Дата добавления - 04.03.2016 в 23:50
Garlem79 Дата: Суббота, 05.03.2016, 02:28 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Спасибо, что откликнулись. :)

1.Если данные будут удалены, запись (дата/время) в первой таблице тоже удаляется. Сейчас это так работает. ( когда запись удаляется дата исчезает). Но в то же время, нужно чтоб в отчет (лист 2 ) попадала запись о том, что было изменение и что дата прежняя такая-то , дата изменения другая. Для первично вносимых данных попадание данных в отчет (лист 2) не требуется.
2. Если данные изменились дату тоже нужно менять. Сейчас в таблице 1 дата/время меняется после изменения. Это правильно. Если оператор ошибся, он должен иметь возможность изменить данные. (удалить/изменить). Отчет нужен для того, чтобы я мог отследить что и когда было изменено, для того , чтобы иметь возможность восстановить данные в случае необходимости.
3. Имя оператора - имя пользователя компьютера. Если это возможно как-то притянуть к файлу.
4. Да, столбцы я буду прописывать уже в рабочей таблице. Это я умею менять, там просто названия столбцов через запятую. Дело в том, что таблица регулярно дополняется, и мне приходится часто перенастраивать эти столбцы вручную. Просто я ничего не понимаю в самом коде поэтому трудно понять иногда, читая комментарии: уберите ту, поменяйте на это ) я однажды пробовал и ничего не вышло, запутался. )))В итоге, все равно пришлось просить готовый код ) ,
 
Ответить
СообщениеСпасибо, что откликнулись. :)

1.Если данные будут удалены, запись (дата/время) в первой таблице тоже удаляется. Сейчас это так работает. ( когда запись удаляется дата исчезает). Но в то же время, нужно чтоб в отчет (лист 2 ) попадала запись о том, что было изменение и что дата прежняя такая-то , дата изменения другая. Для первично вносимых данных попадание данных в отчет (лист 2) не требуется.
2. Если данные изменились дату тоже нужно менять. Сейчас в таблице 1 дата/время меняется после изменения. Это правильно. Если оператор ошибся, он должен иметь возможность изменить данные. (удалить/изменить). Отчет нужен для того, чтобы я мог отследить что и когда было изменено, для того , чтобы иметь возможность восстановить данные в случае необходимости.
3. Имя оператора - имя пользователя компьютера. Если это возможно как-то притянуть к файлу.
4. Да, столбцы я буду прописывать уже в рабочей таблице. Это я умею менять, там просто названия столбцов через запятую. Дело в том, что таблица регулярно дополняется, и мне приходится часто перенастраивать эти столбцы вручную. Просто я ничего не понимаю в самом коде поэтому трудно понять иногда, читая комментарии: уберите ту, поменяйте на это ) я однажды пробовал и ничего не вышло, запутался. )))В итоге, все равно пришлось просить готовый код ) ,

Автор - Garlem79
Дата добавления - 05.03.2016 в 02:28
Garlem79 Дата: Суббота, 05.03.2016, 02:34 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Обнаружил в своем файле с примером ошибк (лист 2 ячейка 2H "введенные данные до изменения" до надо понимать как после ))
 
Ответить
СообщениеОбнаружил в своем файле с примером ошибк (лист 2 ячейка 2H "введенные данные до изменения" до надо понимать как после ))

Автор - Garlem79
Дата добавления - 05.03.2016 в 02:34
Wasilich Дата: Суббота, 05.03.2016, 09:28 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 0% ±

2003
Тестируйте.
К сообщению приложен файл: Garlem79.xls (44.0 Kb)
 
Ответить
СообщениеТестируйте.

Автор - Wasilich
Дата добавления - 05.03.2016 в 09:28
Garlem79 Дата: Суббота, 05.03.2016, 14:05 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Это очень круто. Вроде все работает. Я сегодня установлю в оригинальный файл код и попробую. Огромное Вам спасибо. Если что я напишу ) Пока в этом файле вроде все верно работает.
 
Ответить
СообщениеЭто очень круто. Вроде все работает. Я сегодня установлю в оригинальный файл код и попробую. Огромное Вам спасибо. Если что я напишу ) Пока в этом файле вроде все верно работает.

Автор - Garlem79
Дата добавления - 05.03.2016 в 14:05
Garlem79 Дата: Суббота, 05.03.2016, 23:00 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Wasilich, добрый вечер!
протестировал на боевой таблице Ваш макрос. Отлично работает.

Не знаю, лечится ли, но если выбрать сразу несколько ячеек и удалить, то :

1. дата/время по ним не удаляется
2. информация об удалении не отображается в отчете

то-есть остается способ обойти контроль )))
 
Ответить
СообщениеWasilich, добрый вечер!
протестировал на боевой таблице Ваш макрос. Отлично работает.

Не знаю, лечится ли, но если выбрать сразу несколько ячеек и удалить, то :

1. дата/время по ним не удаляется
2. информация об удалении не отображается в отчете

то-есть остается способ обойти контроль )))

Автор - Garlem79
Дата добавления - 05.03.2016 в 23:00
Wasilich Дата: Воскресенье, 06.03.2016, 00:32 | Сообщение № 9
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 0% ±

2003
но если выбрать сразу несколько ячеек и удалить
Да уж, каждый чих отследить не просто.
Грубовато, но вроде работает.
К сообщению приложен файл: Garlem79_.xls (46.0 Kb)


Сообщение отредактировал Wasilich - Воскресенье, 06.03.2016, 00:35
 
Ответить
Сообщение
но если выбрать сразу несколько ячеек и удалить
Да уж, каждый чих отследить не просто.
Грубовато, но вроде работает.

Автор - Wasilich
Дата добавления - 06.03.2016 в 00:32
Мир MS Excel » Вопросы и решения » Вопросы по VBA » контроль времени ввода и изменения уже введенных данных (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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