2016-09-12 5 views
0

У меня есть таблица, которая содержит различную информацию и сильно условно отформатирована. Теперь вопрос в том, что ..... У меня есть диапазон из 4 ячеек, все ячейки могут возвращаться как зеленые, если все критерии соблюдены, или одна из ячеек - мое возвращение как янтарное или красное, если критерии частично или не выполнены вообще. Я хочу изменить цвет ячейки, использующей autosum, но также хочу изменить ее на зеленый, если все ячейки зеленые, Янтарный, если одна или несколько ячеек отображаются желтыми или красными, если одна или несколько ячеек отображаются красными. Но также может быть смесь, поэтому одна ячейка может быть зеленой, одной янтарной и одной красной. поэтому не интересует ценность ячейки, просто цвет. Затем я также хочу перенести данные (значение &) на другой лист. Есть идеи??Изменение цвета ячейки на основе группы ячеек разных цветов

+5

Чтобы изменить цвет ячейки [перейти сюда] (http://stackoverflow.com/questions/520570/return-background-color-of-selected-cell). Чтобы использовать VBA для копирования и вставки [перейдите сюда] (https://www.excelcampus.com/vba/copy-paste-cells-vba-macros/). Ссылка на другой рабочий лист [перейдите сюда] (http://www.quepublishing.com/articles/article.aspx?p=2021718&seqNum=5). Чтобы узнать, как задать хороший вопрос в StackOverflow [перейдите сюда] (http://stackoverflow.com/help/how-to-ask). Я искал ваши вопросы, это были первые ссылки для всплывающих окон. Есть и другие методы, кроме копий-макарон. Попробуйте, если это не сработает, мы поможем исправить это. – Tyeler

ответ

0

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

Кроме того, если вы хотите выполните его для большего набора диапазонов, вам нужно будет зациклировать этот макрос, используя: Для ... Далее или других петель.

Sub interiorcolor() 


Dim Range1, Range2, Range3, Range4 As Range 

Set Range1 = Sheets("Sheet1").Range("A1") 
Set Range2 = Sheets("Sheet1").Range("A2") 
Set Range3 = Sheets("Sheet1").Range("A3") 
Set Range4 = Sheets("Sheet1").Range("A4") 


If Range1.Interior.ColorIndex = 3 Or Range2.Interior.ColorIndex = 3 Or Range3.Interior.ColorIndex = 3 Or Range4.Interior.ColorIndex = 3 Then 

Sheets("Sheet1").Range("A5").Interior.ColorIndex = 3 

ElseIf Range1.Interior.ColorIndex = 53 Or Range2.Interior.ColorIndex = 53 Or Range3.Interior.ColorIndex = 53 Or Range4.Interior.ColorIndex = 53 Then 

Sheets("Sheet1").Range("A5").Interior.ColorIndex = 53 

ElseIf Range1.Interior.ColorIndex = 43 And Range2.Interior.ColorIndex = 43 And Range3.Interior.ColorIndex = 43 And Range4.Interior.ColorIndex = 43 Then 

Sheets("Sheet1").Range("A5").Interior.ColorIndex = 43 

Else 

Sheets("Sheet1").Range("A5").Interior.ColorIndex = 2 

End If 


End Sub 
Смежные вопросы