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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.11.2013, 12:54   #1
FoxRiver
Пользователь
 
Регистрация: 28.07.2008
Сообщений: 35
По умолчанию Окрасить ячейку в цвет аналогичный другой ячейке

Друзья необходима помощь в переделке макроса функции который указан ниже чтобы окрашивать текущую ячейку в цвет выбранной ячейки.

Например ячейка A1 окрашена в зеленый цвет (Interior.ColorIndex = 43)
в B1 вписываем формулу =СуммЦвет(А1) и ячейка должна окраситься в зеленый цвет.

Код:
Function СумЦвет(диапазон As Range) As Double
' Определяет сумму значений в ячейках "диапазона",
' цвет которых совпадает с цветом в ячейке "критерий"

Application.Volatile True
Dim i As Range
   For Each i In диапазон
        If i.Interior.ColorIndex = 43 Then
           current.cell = СумЦвет + i.Value
        End If
    Next
End Function
FoxRiver вне форума Ответить с цитированием
Старый 02.11.2013, 13:36   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Не получится так сделать
Формула (пользовательская функция) не может изменить формат ячейки, - она только вычисляет значение.
Нужен дополнительный макрос.
EducatedFool вне форума Ответить с цитированием
Старый 04.11.2013, 18:10   #3
Dima_com
Пользователь
 
Регистрация: 29.11.2011
Сообщений: 40
По умолчанию

А почему нельзя просто присваивать такой же цвет следующей ячейке?

Код:
Dim temp = Range(B1).ColorIndex
        Range(A1).ColorIndex = temp
Dima_com вне форума Ответить с цитированием
Старый 04.11.2013, 18:26   #4
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Процедурой - можно.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 04.11.2013, 21:22   #5
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Как функцией пользователя изменить значение другой ячейки
Я и в статье указывал и еще раз скажу: хоть и можно, но метод не стабилен и лучше все же искать другой путь. Раз используете макросы - примените событие листа.
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
окрасить ячейку в зависимости от значения Slavatron1984 Microsoft Office Excel 9 20.12.2011 14:42
Окрасить ячейку относительно результата Seventeenth Microsoft Office Excel 7 28.07.2011 15:17
Как окрасить ячейку с текстовым содержимым Кама Microsoft Office Excel 19 16.07.2010 10:29
окрасить ячейку Romuald Microsoft Office Excel 3 26.01.2008 16:07