2016-09-12 68 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上提出一個好問題[go here](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