|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
13.03.2009, 00:40 | #1 |
Пользователь
Регистрация: 26.02.2009
Сообщений: 58
|
Проблема Worcsheet_Change
Доброй ночи!!!
Господа, прошу совета и разъяснений. Почему Worcsheet_Change на рабочем листе (по крайней мере в том варианте, который в прилагаемом файле) отрабатывает только при вводе в ячейку каких-то данных, но не при ее очистке "DEL". Спасибо! |
13.03.2009, 01:02 | #2 |
Форумчанин
Регистрация: 21.08.2007
Сообщений: 292
|
Когда вы вводите число, например, в ячейку В5, то Target.Address будет $B$5, но когда вы нажимаете клавишу Delete на клавиатуре, то Target.Address уже будет $B$5:$C$5 - из-за этого ваша процедура не срабатывала.
Попробуйте так Код:
Также вам необходимо знать, когда срабатывает строка Range("E3") = Range("B3") в вашей процедуре, ваша процедура Код:
Код:
P.S. Вам нужно научиться пользоваться точками останова (клавиша F9) в редакторе VBA. Тогда ваш код будет выполняться до этой точки останова, а далее будет останавливаться и открывать редактор VBA. Т.е. для определения, почему не срабатывает ваша процедура при нажатии клавиши "Del" вам было необходимо поставить точку останова на строке Код:
Последний раз редактировалось Pavel55; 13.03.2009 в 01:07. |
13.03.2009, 01:17 | #3 |
Пользователь
Регистрация: 26.02.2009
Сообщений: 58
|
|
13.03.2009, 02:29 | #4 |
Форумчанин
Регистрация: 21.08.2007
Сообщений: 292
|
По первому IF
If Not Intersect(Target, Range("B3:C3")) Is Nothing Then Если ячейка Target входит в диапазон B3:C3, То если совсем дословно, то Если пересечение диапазона Target и Range("B3:C3") НЕ равно нично, ТО А по второму IF - это ваш IF, я просто его оставил в своем коде, но по-моему, он совсем не нужен |
13.03.2009, 15:41 | #5 |
Пользователь
Регистрация: 26.02.2009
Сообщений: 58
|
Второе IF
If IsEmpty(Target) Then Exit Sub я просто скопировал из книги, на основании которой и писал свой код. Там тоже ничего не объясняется. Но я менять не стал, исходя из принципа - "работает-не трож!" Спасибо за ответы! |
28.03.2009, 15:58 | #6 | |
Регистрация: 04.02.2007
Сообщений: 4
|
Цитата:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с рамами/Проблема с ЖД | DRAGGER | Компьютерное железо | 6 | 04.01.2009 23:37 |