powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Не закрашивается ячейка
20 сообщений из 20, страница 1 из 1
Не закрашивается ячейка
    #39521093
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!

Из пользовательской функции пытаюсь сделать так, чтобы в выбранной области закрашивал первую ячейку. Но почему то не закрашивается, прерывается. Что тут не так?

Код: vbnet
1.
2.
3.
Function ПользовательскаяФункция1(rn As Range)
    ThisWorkbook.ActiveSheet.Cells(rn.Cells(1, 1).Row, rn.Cells(1, 1).Column).Interior.Color = 65535
End Function
...
Рейтинг: 0 / 0
Не закрашивается ячейка
    #39521130
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поставь точку останова и проверь, чему равны rn.Cells(1, 1).Row и rn.Cells(1, 1).Column
...
Рейтинг: 0 / 0
Не закрашивается ячейка
    #39521159
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProПоставь точку останова и проверь, чему равны rn.Cells(1, 1).Row и rn.Cells(1, 1).ColumnВот
...
Рейтинг: 0 / 0
Не закрашивается ячейка
    #39521181
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На скриншоте и в первом сообщении разный код

ferzmikkпрерываетсяа это что значит?
...
Рейтинг: 0 / 0
Не закрашивается ячейка
    #39521186
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ferzmikkпрерываетсяа это что значит?
...
Рейтинг: 0 / 0
Не закрашивается ячейка
    #39521189
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Не закрашивается ячейка
    #39521190
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

Да скорее всего на строке с назначением цвета и прерывается. Т.к. функции пользователя, вызываемые с листа, не могут по умолчанию изменять значения или форматы ячеек. Ни других, ни тех, в которых записаны. Они лишь возвращают в ту ячейку, в которой записаны результат вычисления.
Здесь я приводил обходные пути: Как функцией пользователя изменить значение другой ячейки
но использовать подобный подход не рекомендую, т.к. вполне можно в какой-то момент получить непредсказуемый результат. Хотя сам на ошибки такого подхода не нарывался(однако и использовать в реальных проектах их даже не пробовал).
...
Рейтинг: 0 / 0
Не закрашивается ячейка
    #39521204
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The_PristЗдесь я приводил обходные пути: Как функцией пользователя изменить значение другой ячейки Значение то меняет, но цвет не меняет.
...
Рейтинг: 0 / 0
Не закрашивается ячейка
    #39521211
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если отложенное изменение на таймер повесить ))
...
Рейтинг: 0 / 0
Не закрашивается ячейка
    #39521235
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ferzmikkЗначение то меняетНе путайте результат вычисления функции, который она возвращает в ячейку, в которой записана и изменение статичного значения ячейки. Это разные вещи.
...
Рейтинг: 0 / 0
Не закрашивается ячейка
    #39521291
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProА если отложенное изменение на таймер повесить ))Не реагирует
...
Рейтинг: 0 / 0
Не закрашивается ячейка
    #39521296
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще реально как то обойти?
...
Рейтинг: 0 / 0
Не закрашивается ячейка
    #39521360
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пользовательская функция может виртуально запустить, например, Worksheet_Change? Если да, то как?
...
Рейтинг: 0 / 0
Не закрашивается ячейка
    #39521430
iMrTidy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ferzmikkПользовательская функция может виртуально запустить, например, Worksheet_Change? Если да, то как?

Может, но необходимость таких "обходов" указывает на неверный подход к решению задачи.
...
Рейтинг: 0 / 0
Не закрашивается ячейка
    #39521502
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iMrTidy,

Спасибо, работает!
...
Рейтинг: 0 / 0
Не закрашивается ячейка
    #39521506
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не могу понять, почему закрашивается только последняя ячейка в выбранном Range. Почему так?
...
Рейтинг: 0 / 0
Не закрашивается ячейка
    #39521577
iMrTidy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ferzmikkНе могу понять, почему закрашивается только последняя ячейка в выбранном Range. Почему так?

Не пренебрегайте Option Explicit, поможет сэкономить время и нервы.

Не у всех VBA офиса поддерживает русский язык, и не все на нем говорят. Это значит, что потенциальный преемник должен настроить правильно офис, да еще и по-русски понимать. Аналогично с помощью.

Событие на листе происходит один раз, по сему в обработчик события попадает последняя ячейка цикла.

В чем смысл этого?
Код: vbnet
1.
ИзменитьЦвет (ThisWorkbook.ActiveSheet.Cells(Ячейка.Row, Ячейка.Column))



Так не проще ли?
Код: vbnet
1.
ИзменитьЦвет Ячейка
...
Рейтинг: 0 / 0
Не закрашивается ячейка
    #39521619
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот написал, работает. Но тут важно, чтобы удалялись старые заливки. Учитывая, что событие срабатывает один раз.

Как быть? Второй Range создавать, где не будет заливок? Или как то по другому делать?
...
Рейтинг: 0 / 0
Не закрашивается ячейка
    #39521787
iMrTidy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ferzmikkВот написал, работает. Но тут важно, чтобы удалялись старые заливки. Учитывая, что событие срабатывает один раз.

Как быть? Второй Range создавать, где не будет заливок? Или как то по другому делать?

Зачем такие извраты?

Код: vbnet
1.
2.
3.
4.
5.
6.
Function ÏîëüçîâàòåëüñêàÿÔóíêöèÿ1(Îáëàñòü As Range)

Öâåò = 65535
ÈçìåíèòüÖâåò Îáëàñòü

End Function



Тогда и доп процедура не нужна.
...
Рейтинг: 0 / 0
Не закрашивается ячейка
    #39521788
iMrTidy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ferzmikk,

Про поддержку русского я предупреждал.

Что значит, чтобы старые заливки удалялись?
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Не закрашивается ячейка
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]