2015-09-18 51 views
0

所以我對VBA有點新,所以先感謝您的幫助。我基本上試圖做的是基於顏色鍵的Vlookup函數。我不太瞭解如何在if函數中做到這一點,但我會嘗試在這裏列出變量。顏色索引鍵

我想查看範圍B2:038(它們具有顏色但沒有值),並且如果它們與A40:A46中的鍵具有相同的顏色索引,請將相應單元格的值粘貼到鍵中。

A40's RGB= 0, 154, 61 
A41's RGB= 146, 208, 80 
A42's RGB= 255, 210, 0 
A43's RGB = 227, 27, 35 
A44's RGB= 191, 232, 255 
A45's RGB= 200, 200, 200 
A46 has no color 

回答

0

你不能用一個簡單的公式做,但你可以用宏:

Sub PopulateArray() 

    For i = 2 To 38 
     For j = 2 To 15 
     For k = 40 To 46 
      If Cells(i, j).Interior.Color = Range("A" & k).Interior.Color Then 
       Cells(i, j) = Range("A" & k).Text 
       Exit For 
      End If 
     Next k 
     Next j 
    Next i 

End Sub 

當你執行這個宏,掃描所有的B2:O38範圍,並測試其背景顏色等於A40:A46範圍中的一個。如果是,則將A40:A46範圍內的相應文本轉移到當前單元格中。

如果要更改字體顏色,請用內部替換爲字體

+0

工作完美,謝謝 –

+0

@JohnC如果這個工作完美,請[標記爲正確答案。](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-工作) – ARich