Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.70/89: Рейтинг темы: голосов - 89, средняя оценка - 4.70
 Аватар для Gepar
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517

Вызов диалогового окна выбора цвета (Excel)

03.12.2011, 19:50. Показов 19042. Ответов 48
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как вызвать диалоговое окно выбора цвета и как получить из него значение для закраски ячейки? Или оно и так возвращает 8 битное значение в границах 0-56? Я ведь, как оказалось, не могу покрасить ячейку вот так
Visual Basic
1
Cells.Interior.ColorIndex = число
цветом, код которого выходит за граници 0 - 56.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.12.2011, 19:50
Ответы с готовыми решениями:

Вывод диалогового окна с запросом выбора файла и сохранение пути к файлу ?
Подскажите как реализуется чтобы в макросе выдать диалоговое окно с возможностью выбора файла и по нажатию ОК сохранить путь в переменную ?

Выполнение макроса внутри диалогового окна Excel
Доброго времени суток, уважаемые гуру! Подскажите, пожалуйста, можно ли запустить выполнение макроса внутри диалогового окна, и в случае...

Открытие документа Word из Excel с использованием диалогового окна
Здравствуйте. Столкнулся с такой проблемой: не получается написать макрос который после запуска из Excel открывает окно с выбором файлов, в...

48
2 / 2 / 0
Регистрация: 26.03.2012
Сообщений: 33
06.04.2012, 18:03
Студворк — интернет-сервис помощи студентам
А как эту процедуру можно переделать в функцию чтобы возвращала значение Color?

К примеру чтоб потом использовать так:
ActiveCell.Interior.Color=QWERT
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
06.04.2012, 18:58
Поменять слово SUB на FUNCTION

Добавлено через 4 минуты
Visual Basic
1
2
3
Function QWERT()
QWERT = ActiveCell.Interior.Color
End FUNCTION
0
2 / 2 / 0
Регистрация: 26.03.2012
Сообщений: 33
06.04.2012, 19:06
Извеняюсь, не коректно задал вопрос.

Нужно не считать значение цвета из ячейки а записать выбранное в диалоговом окне. (См. код на предыдущей странице)

Тоесть нужно чтобы функция возвращала значение Color которое затем подставлялось бы в процедуру закрашивания.
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
06.04.2012, 19:17
Ну так Апострофф же дал код.
Проверил в 2010 работает.
Именно в вункции определяется. В процедуре используется
Если не так - уточняй вопрос
0
2 / 2 / 0
Регистрация: 26.03.2012
Сообщений: 33
06.04.2012, 19:20
Если взять этот код и просто поменять sub на function то он будет закрашивать не выбранным цветом а черным.
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
06.04.2012, 19:23
вот в том варианкте, что дал Апострофф ничего менять не надо

Добавлено через 1 минуту
запускать Sub ColorTime()
Она вызовет функцию Private Function ShowColor
Функция вернёт номер выбранного цвета
1
2 / 2 / 0
Регистрация: 26.03.2012
Сообщений: 33
06.04.2012, 19:29
Код от апострофа не работает на 64битном компе, а ваш код работает и на 32 и на 64 битной. А мне нужен именно универсальный. Поэтому нужно как то использовать его.

Снимок ошибки прилагается
Миниатюры
Вызов диалогового окна выбора цвета (Excel)  
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
06.04.2012, 19:32
Лучший ответ Сообщение было отмечено как решение

Решение

Где-то попадалось.
Надо копать в сторону декларирования функций.
Там немного по другому.
У меня 32 поэтому не стал углубляться в вопрос: пока нет желания ни 7 ставить ни 64 бита
1
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
06.04.2012, 20:53
попробуй такой вариант
Вложения
Тип файла: rar Книга101.rar (9.7 Кб, 28 просмотров)
0
2 / 2 / 0
Регистрация: 26.03.2012
Сообщений: 33
06.04.2012, 21:20
там всплывает ошибка, что на снимке

Ваша процедура вычисляет значения R,G,B. Думал переименовать ее в функцию и добавить это:
QWERT = "RGB(" & R & "," & G & "," & B & ")"
Но из за чего то не работает
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
06.04.2012, 21:32
там всплывает ошибка
Там это где?
В последнем варианте не может быть такой ошибке как на картинке: там нет деклараций.
и у меня в 2010 работает

Не по теме:

ИМХО: не гонялись бы за новыми(читай сырыми) версиями винды - не зналибы проблем на ровном месте. В проверенной 32-битной Хрюше работает без проблем

0
2 / 2 / 0
Регистрация: 26.03.2012
Сообщений: 33
06.04.2012, 21:36
Снимок забыл прикрепить
Миниатюры
Вызов диалогового окна выбора цвета (Excel)  
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
06.04.2012, 21:38
Ты взял мой файл или только код?
На моём листе лежит контрол
0
2 / 2 / 0
Регистрация: 26.03.2012
Сообщений: 33
06.04.2012, 21:44
Если я не ослеп в конец то все что на нем есть это синяя ячейка. Даже если он есть он же просто вызывает подпрограмму, значит он не влияет на ход выполнения. Или там как то подругому?
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
06.04.2012, 21:45
Разработчик-режим конструктора включи.
На листе появится контрол
0
2 / 2 / 0
Регистрация: 26.03.2012
Сообщений: 33
06.04.2012, 21:52
Хм, действительно. Сори, в первый раз такое вижу. И не пойму что с ним делать. Как процедуру запустить то?
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
06.04.2012, 21:54
Alt+F8
Увидишь процедуру
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
06.04.2012, 21:58
Ещё когда контрол виден посмотри его свойства.
Возможно он как-то по другому называется. У меня CommonDialog1.
Но вдруг твоя система решила его назвать иначе?.
Тогда процедура его не найдёт. Надо бадет в процедуре поменять имя. Или в свойствах
Другой вариант - сделать свой диалог. Примерно так:
Вложения
Тип файла: rar Выбор.rar (17.8 Кб, 31 просмотров)
0
2 / 2 / 0
Регистрация: 26.03.2012
Сообщений: 33
06.04.2012, 22:05
Да в последнем файле все работает. Как запасной вариант сгодится конечно, спасибо. Но вертеть ползунки это совсем неудобно. Нужно диалоговое окно с выбором из палитры, как в вашем примере на второй странице.
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
06.04.2012, 23:12
Когда видишь контрол его свойства можешь просмотреть?
Миниатюры
Вызов диалогового окна выбора цвета (Excel)  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.04.2012, 23:12

Вызов диалогового окна GUI для выбора файла с определенным расширением
Небольшое вступление. Я пользуюсь простейшим батником, который выглядит вот так: @echo on cd D:\Program Files\Next...

Операторы, устанавливающие цвет фона текущей программы с использованием диалогового окна выбора цвета?
Операторы, устанавливающие цвет фона текущей программы с помощью диалогового окна выбора цвета? Подскажите пожалуйста

Вызов диалогового окна
Добрый день. В основном активити есть список RecycleView для добавления в список есть кнопка в этом активити. При нажатии кнопки...

Изменение цвета диалогового окна
Все привет, когда в visual studio создаешь свой dialog, то цвет его получается серым. А его можно поменять на белый?

Вызов стандартного диалогового окна печати
ДОбрый день. Проблема: Нужно кнопкой вызвать диалоговое окно печати документа из приложения. Не смог найти примера реализации,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров В текущей версии модели успешно реализован ключевой механизм. . .
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям Реализованные компоненты: Механизм закисления почвы через протонную помпу Конкуренция между типами микориз pH как триггер сукцессии C/ P соотношение. . .
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы ## О чём эта статья В процессе построения ОДУ-модели (система дифференциальных. . .
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет) Содержание проекта Симуляция вековой (50 лет) экологической сукцессии в почве леса Основные участники: АМ-гриб, ЭКМ-гриб,. . .
сукцессия 23. Более физиологичная физиология, более экологичная экология, более диффурные диффуры.
anaschu 12.07.2026
Что реально нашли и починили за эти 5 часов Правило Линдемана (КПД конверсии сахара в тело, kEff) — раньше 100% полученного углерода шло прямо в биомассу гриба; теперь только kEff=0. 5 (после. . .
сукцессия 22. От артефактов к физиологии: калибровка агентной модели грибной сукцессии для воспроизведения сезонной динамики и pH-плато
anaschu 11.07.2026
Аннотация В данной работе представлена калибровка агентной модели динамики грибных сообществ (fungal-succession), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru