我正在構建一個住宅堆疊計劃,其中每個單元格=具有特定顏色的單元類型,並給出條件格式。 每個單位下面的2個表格反映了一個平方米的大小和一個$值。Excel代碼將範圍單元格的顏色鏈接到另一個
我需要將只有單元格的顏色反映到下表中。
我需要一個動態的解決方案,寧願避免vba(因爲我不熟練),但將在必要時使用。提前致謝!
我正在構建一個住宅堆疊計劃,其中每個單元格=具有特定顏色的單元類型,並給出條件格式。 每個單位下面的2個表格反映了一個平方米的大小和一個$值。Excel代碼將範圍單元格的顏色鏈接到另一個
我需要將只有單元格的顏色反映到下表中。
我需要一個動態的解決方案,寧願避免vba(因爲我不熟練),但將在必要時使用。提前致謝!
設置條件格式正常的在第一表是這樣的:
注意我的桌子開始在小區C4但你是在不同的地方,也應相應調整。確保你在規則中沒有公式符號上的$符號,但是你在'適用於'部分有這個符號
現在複製並粘貼到第二個表格上。
最後在條件格式中編輯公式,以便它們指向FIRST表的起始單元格。它應該是這樣的:
請注意格式「適用於」第二個表,而是指在公式中的第一個表中的值。
結果是這樣的:
如果需要,您可以重複這一過程,其他表。 (!)
正如你在Excel 2003年的工作,請按照下列步驟操作:
如果你改變了顏色代碼值(B21:B26)從2 rooms
到2
(以匹配您的第二個表),下面應該做的伎倆。基本上,這段代碼並沒有使用條件格式。從有條件的格式化中獲取顏色可能會有些費力和棘手(谷歌「excel vba查找顏色條件格式」)。相反,目前的代碼讀取顏色代碼單元格中的顏色,並將其應用於其他兩個範圍。
Private Sub BckgndColor()
Dim ColorCodeRange As Range
Dim NoOfRooms As Range
Dim CellColorIndex As Integer
Dim c As Range
Dim d As Object
Set ColorCodeRange = Worksheets("Sheet1").Range("B21:B26")
Set d = CreateObject("scripting.dictionary")
'Add the pairs (value, color) to dictionary
For Each c In ColorCodeRange.Cells
d.Add c.Value, c.Interior.ColorIndex
Next
Set NoOfRooms = Worksheets("Sheet1").Range("M25:V36") 'Here the range of Table 2 (M25:V36 in your example)
'Scan range, and assign color
For Each c In NoOfRooms.Cells
If d.Exists(c.Value) Then
c.Interior.ColorIndex = d(c.Value)
c.Offset(16, 0).Interior.ColorIndex = d(c.Value) 'If Table 3 is always 16 rows down, this shoud work
End If
Next
Set d = Nothing
End Sub
感謝所有使用條件格式排序的問題! –
你的問題對我來說還不清楚。你能提供一個樣本圖片嗎? – CMArg
靜態很容易做到,只需複製格式。但是,執行此動態操作將首先需要VBA,或將條件格式複製到第二個表。 – Luuklag
可以使用條件格式來做到這一點,但它有助於查看電子表格,以便我可以進一步提供建議。 –