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

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

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

Восстановить пароль

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

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

Здравствуйте! подскажите пожалуйста! как сделать автоматическую обработку событий - если в столбце “с” появляется какая-либо запись, то в столбце “а”, в той же строке, должен появиться номер строки по порядку. (если предыдущая строка была 1, то появляется 2 и так далее).
Спасибо!
maxvip вне форума Ответить с цитированием
Старый 26.05.2014, 10:21   #2
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

Это смотря как появляется... Маловато информации.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 26.05.2014, 12:27   #3
maxvip
Форумчанин
 
Регистрация: 11.05.2009
Сообщений: 139
По умолчанию

Цитата:
Сообщение от Hugo121 Посмотреть сообщение
Это смотря как появляется... Маловато информации.
вот есть код -
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Target.Column = 3 Then Target.Offset(, -1) = Date
End Sub

этот код ставит дату в столбце "в", когда в столбце "с" появляется запись.
нужно сделать так, что б так же в столбце "а" появился номер строки.
по идее вместо "date" надо бы поставить значение ячейки находящейся на два столбца левее и одной строкой выше ячейки в столбце "с" прибавив к этому значению единицу. но я не знаю как это сделать
maxvip вне форума Ответить с цитированием
Старый 26.05.2014, 12:45   #4
R Dmitry
Форумчанин
 
Регистрация: 07.03.2010
Сообщений: 796
По умолчанию

Код:
Target.Offset(, -2) = Target.Offset(-1, -2) +1
только проверку надо добавить на первую строку иначе вывалиться в ошибку
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
R Dmitry вне форума Ответить с цитированием
Старый 26.05.2014, 12:53   #5
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

или без макросов:
Код:
=ЕСЛИ(ЕПУСТО(RC[2]);"";МАКС(ИНДЕКС(C;1):ИНДЕКС(C;СТРОКА()-1))+1)
кроме того, данные не должны идти подряд, при добавлении данных в средину списка - все последующие строки получат новые (правильные номера), при удалении любой строки - тоже все корректно переномеруется
Вложения
Тип файла: rar Автономератор.rar (6.1 Кб, 13 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 26.05.2014, 13:25   #6
maxvip
Форумчанин
 
Регистрация: 11.05.2009
Сообщений: 139
По умолчанию

Цитата:
Сообщение от R Dmitry Посмотреть сообщение
Код:
Target.Offset(, -2) = Target.Offset(-1, -2) +1
только проверку надо добавить на первую строку иначе вывалиться в ошибку
хм... весьма очевидно! а я чёта читал читал букварь и не нашел там про это... наверное был не внимателен! Спасибо!!!
maxvip вне форума Ответить с цитированием
Старый 26.05.2014, 13:34   #7
maxvip
Форумчанин
 
Регистрация: 11.05.2009
Сообщений: 139
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
или без макросов:
Код:
=ЕСЛИ(ЕПУСТО(RC[2]);"";МАКС(ИНДЕКС(C;1):ИНДЕКС(C;СТРОКА()-1))+1)
кроме того, данные не должны идти подряд, при добавлении данных в средину списка - все последующие строки получат новые (правильные номера), при удалении любой строки - тоже все корректно переномеруется
спасибо за совет! у меня номер строк должен идти по порядку, строки удалятся не будут, автоматика на нумерацию и дату ставиться что б исключить человеческий фактор. это я себе леплю лист учета заказов.
maxvip вне форума Ответить с цитированием
Старый 26.05.2014, 13:41   #8
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Цитата:
а я чёта читал читал букварь и не нашел там про это
буквари обьясняют общие подходы и принципы программирования и чаще всего на абстрактных примерах.
найти решение Вашей конкретной задачи - это скорее удача, чем правило.
стандартная ошибка - написание кода только для "правильных" данных и ситуаций. надо рассмотреть крайные значения, отсечь неправильные данные или ситуации с их полным отсутствием.
сразу написанный таким образом макрос не надо будет потом переписывать несколько раз.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 26.05.2014, 13:47   #9
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Цитата:
у меня номер строк должен идти по порядку
я это не знал, тем более предложен универсальный способ, не противоречащий Вашим правилам
Цитата:
строки удалятся не будут
- а вот это заблуждение. если у пользователя есть возможность удялить строку - непременно кто-то, когда-то ее удалит я даже знаю кто, если Вы единственный пользователь данной системы))
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 26.05.2014, 14:10   #10
maxvip
Форумчанин
 
Регистрация: 11.05.2009
Сообщений: 139
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
я это не знал, тем более предложен универсальный способ, не противоречащий Вашим правилам
- а вот это заблуждение. если у пользователя есть возможность удялить строку - непременно кто-то, когда-то ее удалит я даже знаю кто, если Вы единственный пользователь данной системы))
я хочу сделать так чтоб добавлять строки через форму и поиск по таблице через форму и доступа юзера непосредственно к листу с данными не планируется! но и даже и удалится строка, номера остальных заказов все равно останутся прежними!

Последний раз редактировалось maxvip; 26.05.2014 в 14:13.
maxvip вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автоматическая обработка изображений Sanek59 Фриланс 11 30.03.2012 23:00
Обработка события нажатия кнопки masm Microsoft Office Access 6 22.08.2011 11:21
обработка события Worksheet_change Jarik Microsoft Office Excel 2 12.05.2011 12:06
Обработка события Lena220 Microsoft Office Access 2 22.11.2010 11:48
Обработка события закрытия окна в С# Kriziun Общие вопросы .NET 2 14.04.2008 14:06