Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.11.2009, 08:45   #1
maxvip
Форумчанин
 
Регистрация: 11.05.2009
Сообщений: 139
По умолчанию помогите сделать автоматическую обработку события...

...задача вот какая - в столбец заносятся данные (цифры и буквы) текстовый формат, как только данные занесены, в соседнем столбце в этой же строке надо автоматом поставить сегодняшнюю дату, важно зафиксировать дату занесения данных, а чтоб исключить челфактор (типа забыл) дата должна проставляться сама - как только появилась запись.
maxvip вне форума Ответить с цитированием
Старый 03.11.2009, 10:42   #2
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Пусть, например, при вводе данных в ячейку столбца "A", требуется в столбце "B" поставить сегодняшнюю дату. Тогда в модуль требуемого листа вставьте код:
Код:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    If Target.Column = 1 Then Target.Next = Date
End Sub
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 03.11.2009, 11:14   #3
maxvip
Форумчанин
 
Регистрация: 11.05.2009
Сообщений: 139
По умолчанию

..сорри, а где в коде обозначение столбца\ячейки\строки??? или как мне подстроить код под мой файлик? в смысле указать место записи и место вставки даты?
maxvip вне форума Ответить с цитированием
Старый 03.11.2009, 11:24   #4
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Предлагаю то же самое с пояснениями:
Код:
Private Sub Worksheet_Change(ByVal Target As Range) 'Запускается по событию изменения значения ячейки листа
    If Target.Cells.Count > 1 Then Exit Sub 'Если выделено более 1 ячейки, то ничего не делаем
    If Target.Column = 1 Then Target.Next = Date 'Если номер столбца =1, то в этой же строке в соседнем столбце ставим дату
End Sub
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 03.11.2009, 11:32   #5
maxvip
Форумчанин
 
Регистрация: 11.05.2009
Сообщений: 139
По умолчанию

да! спасибо! работает, а вот у меня записи появляются в столбце С, а дата должна появляться в столбце А, как настроить?
maxvip вне форума Ответить с цитированием
Старый 03.11.2009, 12:13   #6
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Строку кода
Код:
If Target.Column = 1 Then Target.Next = Date
замените на
Код:
If Target.Column = 3 Then Target.Offset(, -2) = Date
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 03.11.2009, 12:19   #7
maxvip
Форумчанин
 
Регистрация: 11.05.2009
Сообщений: 139
По умолчанию

спасибо большое!!! ни в одном букваре не нашел этого....
maxvip вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
програма на обработку символьной информации АлександрFRONT Паскаль, Turbo Pascal, PascalABC.NET 1 19.12.2008 13:48
помогите с задачкой на Обработку матрицы kiko Паскаль, Turbo Pascal, PascalABC.NET 2 17.12.2008 22:17
Решить задачу на обработку текста. Horknee Паскаль, Turbo Pascal, PascalABC.NET 10 07.11.2008 17:44
реализовать обработку массива Danilyuk Паскаль, Turbo Pascal, PascalABC.NET 2 18.06.2008 16:35