2017-08-08 110 views
1

我正在構建一個住宅堆疊計劃,其中每個單元格=具有特定顏色的單元類型,並給出條件格式。 每個單位下面的2個表格反映了一個平方米的大小和一個$值。Excel代碼將範圍單元格的顏色鏈接到另一個

我需要將只有單元格的顏色反映到下表中。

我需要一個動態的解決方案,寧願避免vba(因爲我不熟練),但將在必要時使用。提前致謝!

Find Image HERE

+0

你的問題對我來說還不清楚。你能提供一個樣本圖片嗎? – CMArg

+0

靜態很容易做到,只需複製格式。但是,執行此動態操作將首先需要VBA,或將條件格式複製到第二個表。 – Luuklag

+0

可以使用條件格式來做到這一點,但它有助於查看電子表格,以便我可以進一步提供建議。 –

回答

1

設置條件格式正常的在第一表是這樣的:

Conditional formatting

注意我的桌子開始在小區C4但你是在不同的地方,也應相應調整。確保你在規則中沒有公式符號上的$符號,但是你在'適用於'部分有這個符號

現在複製並粘貼到第二個表格上。

最後在條件格式中編輯公式,以便它們指向FIRST表的起始單元格。它應該是這樣的:

2nd Table Conditional formatting

請注意格式「適用於」第二個表,而是指在公式中的第一個表中的值。

結果是這樣的:

Final result

如果需要,您可以重複這一過程,其他表。 (!)

正如你在Excel 2003年的工作,請按照下列步驟操作:

  1. 第二個表選擇單元格。
  2. 在菜單中,選擇「格式 - 條件格式」。
  3. 在條件格式框中,選擇公式是
  4. 在文本框中輸入FIRST表的單元格引用(例如C4 =「4+」),不要輸入任何$符號。
  5. 單擊格式按鈕並選擇背景填充以匹配第一個表格中的一個。
  6. 單擊添加>>按鈕,以相同的方式添加其他條件。
+0

它仍然有效。我會在最後添加一個更新。 –

+0

我不知道條件和格式可以在不同的範圍。 +1 – CMArg

+0

令人驚歎!它創造奇蹟。謝謝! –

0

如果你改變了顏色代碼值(B21:B26)從2 rooms2(以匹配您的第二個表),下面應該做的伎倆。基本上,這段代碼並沒有使用條件格式。從有條件的格式化中獲取顏色可能會有些費力和棘手(谷歌「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 
+0

感謝所有使用條件格式排序的問題! –

相關問題