|
Не закрашивается ячейка
|
|||
---|---|---|---|
#18+
Здравствуйте! Из пользовательской функции пытаюсь сделать так, чтобы в выбранной области закрашивал первую ячейку. Но почему то не закрашивается, прерывается. Что тут не так? Код: vbnet 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2017, 13:44 |
|
Не закрашивается ячейка
|
|||
---|---|---|---|
#18+
Поставь точку останова и проверь, чему равны rn.Cells(1, 1).Row и rn.Cells(1, 1).Column ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2017, 14:17 |
|
Не закрашивается ячейка
|
|||
---|---|---|---|
#18+
Shocker.ProПоставь точку останова и проверь, чему равны rn.Cells(1, 1).Row и rn.Cells(1, 1).ColumnВот ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2017, 14:36 |
|
Не закрашивается ячейка
|
|||
---|---|---|---|
#18+
На скриншоте и в первом сообщении разный код ferzmikkпрерываетсяа это что значит? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2017, 15:02 |
|
Не закрашивается ячейка
|
|||
---|---|---|---|
#18+
ferzmikkпрерываетсяа это что значит? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2017, 15:11 |
|
Не закрашивается ячейка
|
|||
---|---|---|---|
#18+
Shocker.Pro, Да скорее всего на строке с назначением цвета и прерывается. Т.к. функции пользователя, вызываемые с листа, не могут по умолчанию изменять значения или форматы ячеек. Ни других, ни тех, в которых записаны. Они лишь возвращают в ту ячейку, в которой записаны результат вычисления. Здесь я приводил обходные пути: Как функцией пользователя изменить значение другой ячейки но использовать подобный подход не рекомендую, т.к. вполне можно в какой-то момент получить непредсказуемый результат. Хотя сам на ошибки такого подхода не нарывался(однако и использовать в реальных проектах их даже не пробовал). ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2017, 15:14 |
|
Не закрашивается ячейка
|
|||
---|---|---|---|
#18+
The_PristЗдесь я приводил обходные пути: Как функцией пользователя изменить значение другой ячейки Значение то меняет, но цвет не меняет. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2017, 15:34 |
|
Не закрашивается ячейка
|
|||
---|---|---|---|
#18+
А если отложенное изменение на таймер повесить )) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2017, 15:39 |
|
Не закрашивается ячейка
|
|||
---|---|---|---|
#18+
ferzmikkЗначение то меняетНе путайте результат вычисления функции, который она возвращает в ячейку, в которой записана и изменение статичного значения ячейки. Это разные вещи. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2017, 16:17 |
|
Не закрашивается ячейка
|
|||
---|---|---|---|
#18+
Shocker.ProА если отложенное изменение на таймер повесить ))Не реагирует ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2017, 17:39 |
|
Не закрашивается ячейка
|
|||
---|---|---|---|
#18+
Вообще реально как то обойти? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2017, 17:48 |
|
Не закрашивается ячейка
|
|||
---|---|---|---|
#18+
Пользовательская функция может виртуально запустить, например, Worksheet_Change? Если да, то как? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.09.2017, 20:42 |
|
Не закрашивается ячейка
|
|||
---|---|---|---|
#18+
ferzmikkПользовательская функция может виртуально запустить, например, Worksheet_Change? Если да, то как? Может, но необходимость таких "обходов" указывает на неверный подход к решению задачи. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2017, 01:00 |
|
Не закрашивается ячейка
|
|||
---|---|---|---|
#18+
iMrTidy, Спасибо, работает! ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2017, 08:23 |
|
Не закрашивается ячейка
|
|||
---|---|---|---|
#18+
Не могу понять, почему закрашивается только последняя ячейка в выбранном Range. Почему так? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2017, 08:34 |
|
Не закрашивается ячейка
|
|||
---|---|---|---|
#18+
ferzmikkНе могу понять, почему закрашивается только последняя ячейка в выбранном Range. Почему так? Не пренебрегайте Option Explicit, поможет сэкономить время и нервы. Не у всех VBA офиса поддерживает русский язык, и не все на нем говорят. Это значит, что потенциальный преемник должен настроить правильно офис, да еще и по-русски понимать. Аналогично с помощью. Событие на листе происходит один раз, по сему в обработчик события попадает последняя ячейка цикла. В чем смысл этого? Код: vbnet 1.
Так не проще ли? Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2017, 10:04 |
|
Не закрашивается ячейка
|
|||
---|---|---|---|
#18+
Вот написал, работает. Но тут важно, чтобы удалялись старые заливки. Учитывая, что событие срабатывает один раз. Как быть? Второй Range создавать, где не будет заливок? Или как то по другому делать? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2017, 10:59 |
|
Не закрашивается ячейка
|
|||
---|---|---|---|
#18+
ferzmikkВот написал, работает. Но тут важно, чтобы удалялись старые заливки. Учитывая, что событие срабатывает один раз. Как быть? Второй Range создавать, где не будет заливок? Или как то по другому делать? Зачем такие извраты? Код: vbnet 1. 2. 3. 4. 5. 6.
Тогда и доп процедура не нужна. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2017, 12:56 |
|
|
start [/forum/topic.php?fid=61&msg=39521130&tid=2172576]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
32ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 280ms |
total: | 409ms |
0 / 0 |