Note: The other languages of the website are Google-translated. Back to English

如何在Excel中自動將單元格顏色鏈接到另一種顏色?

使用Microsoft Excel時,您知道如何自動將單元格顏色鏈接到另一種顏色嗎? 本文將向您展示實現它的方法。

使用VBA代碼自動將單元格顏色鏈接到另一種顏色


使用VBA代碼自動將單元格顏色鏈接到另一種顏色

假設要將單元格A1的填充色鏈接到C1,當更改A1的填充色時,C1的顏色將自動變為相同。 請執行以下操作。

1.右鍵單擊您需要將單元格顏色鏈接到另一個的工作表選項卡,然後單擊 查看代碼 從右鍵單擊菜單中。

2.在開幕 Microsoft Visual Basic for Applications 窗口,請複制以下VBA代碼並將其粘貼到 推薦碼 窗口。

VBA代碼:在Excel中將單元格顏色自動鏈接到另一種顏色

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Me.Range("C1").Interior.Color = Me.Range("A1").Interior.Color
End Sub

備註:您可以根據需要在代碼中更改單元格引用。

3.繼續按 其他 + Q 按鍵同時關閉 Microsoft Visual Basic for Applications 窗口。

從現在開始,當更改單元格A1的填充顏色時,單元格C1的填充顏色將自動更改為相同的顏色。


最佳辦公效率工具

Kutools for Excel 解決了你的大部分問題,並將你的生產力提高了 80%

  • 重用: 快速插入 複雜的公式,圖表 以及您以前使用過的任何東西; 加密單元 帶密碼 創建郵件列表 並發送電子郵件...
  • 超級公式欄 (輕鬆編輯多行文本和公式); 閱讀版式 (輕鬆讀取和編輯大量單元格); 粘貼到過濾範圍...
  • 合併單元格/行/列 不會丟失數據; 拆分單元格內容; 合併重複的行/列...防止細胞重複; 比較範圍...
  • 選擇重複或唯一 行; 選擇空白行 (所有單元格都是空的); 超級查找和模糊查找 在許多工作簿中; 隨機選擇...
  • 確切的副本 多個單元格,無需更改公式參考; 自動創建參考 到多張紙; 插入項目符號,複選框等...
  • 提取文字,添加文本,按位置刪除, 刪除空間; 創建和打印分頁小計; 在單元格內容和註釋之間轉換...
  • 超級濾鏡 (將過濾方案保存並應用於其他工作表); 高級排序 按月/週/日,頻率及更多; 特殊過濾器 用粗體,斜體...
  • 結合工作簿和工作表; 根據關鍵列合併表; 將數據分割成多個工作表; 批量轉換xls,xlsx和PDF...
  • 超過 300 項強大的功能. 支持 Office / Excel 2007-2021 和 365。支持所有語言。 在您的企業或組織中輕鬆部署。 完整功能 30 天免費試用。 60 天退款保證。
kte選項卡201905

Office選項卡為Office帶來了選項卡式界面,使您的工作更加輕鬆

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!
officetab底部
按評論排序
留言 (48)
4.5中的5評分 · 1評級
網站主持人對此評論進行了最小化
同一個工作簿中的工作表之間怎麼樣 - 請告知公式如何更改? 謝謝!
網站主持人對此評論進行了最小化
很棒的教程。 謝謝 :) !!!!
網站主持人對此評論進行了最小化
是的,我想知道如何將顏色鏡像到另一張紙上??? 我在兩個框中都有一個公式,但我希望一個公式的顏色在它發生變化時反映主表上的顏色。 即.. 培訓日期表為 30 天,方框變為紅色; 主表上的相應框,帶有“X”的框也變為紅色。
網站主持人對此評論進行了最小化
嗨,傑西卡,
盒子是什麼意思? 文本框?
網站主持人對此評論進行了最小化
如果兩個單元格位於不同的工作簿中,有沒有辦法做到這一點?
網站主持人對此評論進行了最小化
嗨達斯汀,
無法處理不同的工作簿。 感謝您的評論。
網站主持人對此評論進行了最小化
我在這裡看到,在解釋中,如何為一個單元格,如何為幾個單元格?
網站主持人對此評論進行了最小化
嗨羅傑里奧,
您是指將一個單元格的填充顏色同時鏈接到多個單元格嗎?
網站主持人對此評論進行了最小化
y su el la celda A1 tiene un formato condicional ?
網站主持人對此評論進行了最小化
如果單元格是不同的表?
網站主持人對此評論進行了最小化
嗨馬里奧,
假設您要將當前工作表中單元格 A1 的顏色鏈接到 Sheet1 中的範圍 B19:J2,請應用以下 VBA 代碼。 更改 A1 的填充顏色後,請單擊當前工作表中的另一個單元格以激活代碼。

私人子工作表_SelectionChange(ByVal Target As Range)
將 xRg 調暗為範圍
將 xStrAddress 調暗為字符串
xStrAddress = "Sheet2!$B$1:$J$19"
設置 xRg = Application.Range(xStrAddress)
xRg.Interior.Color = Me.Range("A1").Interior.Color
END SUB
網站主持人對此評論進行了最小化
那行得通。 如果您將 Sheet1 中的 A1 更改為 Sheet1 中的 B2,並且 Sheet2 中的 A1 更改為 Sheet2 中的 B2,它將如何工作?
網站主持人對此評論進行了最小化
嗨,任何人都可以盡快幫助解決上述問題,我急需它並且時間不多了。
網站主持人對此評論進行了最小化
嗨,
下面的 VBA 代碼可以幫助您解決問題。 感謝您的評論。

私人子工作表_SelectionChange(ByVal Target As Range)
將 xRg 調暗為範圍
將 xStrAddress 調暗為字符串
xStrAddress = "Sheet2!$B$1"
設置 xRg = Application.Range(xStrAddress)
xRg.Interior.Color = Me.Range("A1").Interior.Color
xStrAddress = "Sheet2!$B$2"
設置 xRg = Application.Range(xStrAddress)
xRg.Interior.Color = Me.Range("A2").Interior.Color
xStrAddress = "Sheet2!$B$3"
設置 xRg = Application.Range(xStrAddress)
xRg.Interior.Color = Me.Range("A3").Interior.Color
END SUB
網站主持人對此評論進行了最小化
Не могли бы вы написать прям оригинальный код,без разъяснений,я новичок и вообще не могу понять)
網站主持人對此評論進行了最小化
嗨安德魯,
這是您可以直接在工作表中使用的完整 VBA 代碼。 請按照說明逐步將其添加到 VBA 編輯器中相應的代碼窗口。
網站主持人對此評論進行了最小化
不幸的是,它對我不起作用。 我想知道是否是因為原始單元格是一個具有條件格式規則的列表,可根據列表中選擇的選項更改背景顏色。
網站主持人對此評論進行了最小化
嗨阿曼達,
此代碼不適用於條件格式規則分配的填充顏色。 帶來不便敬請諒解。
網站主持人對此評論進行了最小化
是否可以將一張紙上的一個範圍的顏色鏈接到另一張紙上相同尺寸的另一個範圍? 例如,我每隔幾行就有交替顏色,我希望將該配色方案複製到另一張紙上。
網站主持人對此評論進行了最小化
嗨,查爾斯,
下面的代碼可以幫你一個忙。 如果要將Sheet1上A19:A1區域的顏色鏈接到Sheet1上的相同區域“A19:A2”,請將代碼複製到Sheet1的代碼窗口中,然後單擊Sheet1上的任何單元格以激活代碼。 希望我能幫上忙。 感謝您的評論。

私人子工作表_SelectionChange(ByVal Target As Range)
將 xRg 調暗為範圍
將 xStrAddress 調暗為字符串
xStrAddress = "Sheet2!$A$1:$A$19"
設置 xRg = Application.Range(xStrAddress)
xRg.Interior.Color = Me.Range("A1:A19").Interior.Color
END SUB
網站主持人對此評論進行了最小化
嗨,
如果我引用一個單元格,此代碼似乎有效,但如果我輸入一個範圍,則第 2 頁上的範圍變為黑色,而不是處理內部顏色。

任何想法為什麼會發生這種情況?
網站主持人對此評論進行了最小化
嗨喬伊,
對不起這個錯誤。 試試這個代碼:

私人子工作表_SelectionChange(ByVal Target As Range)
將 xRg 調暗為範圍
將 xCRg 調暗為範圍
將 xStrAddress 調暗為字符串
將 xFNum 調暗為整數
xStrAddress = "Sheet2!$A$1:$A$10"
設置 xRg = Application.Range(xStrAddress)
設置 xCRg = Me.Range("$A$1:$A$10")
在錯誤恢復下一頁
對於 xFNum = 1 到 xRg.Count
xRg.Item(xFNum).Interior.Color = xCRg.Item(xFNum).Interior.Color
下一頁
END SUB
網站主持人對此評論進行了最小化
嗨水晶,
非常感謝。 完美運行!
你太棒了! o_o
網站主持人對此評論進行了最小化
嗨,水晶!
如果我希望它同時復製到 Sheet2 和 Sheet3,相同的代碼會是什麼樣子?
網站主持人對此評論進行了最小化
嗨,有人可以回答這個問題。 我正在努力做到這一點並且沒有運氣。
網站主持人對此評論進行了最小化
這對我不起作用。 我不斷收到有關“編譯錯誤,檢測到不明確的名稱”的錯誤......
網站主持人對此評論進行了最小化
這對我不起作用。 可能兩張紙上的單元格範圍不一樣。 你能幫忙建議做什麼或如何調整代碼嗎?
網站主持人對此評論進行了最小化
嗨,LG,
您可以修改兩行:範圍 “$A$1:$A$10” 第八行,和 “表 2!$A$1:$A$10” 第六行,表示您將鏈接範圍的填充顏色 A1:A10 在工作表(假設 Sheet1,並且代碼應添加到此工作表代碼窗口)中的相同範圍 Sheet2.
您可以根據需要指定兩個不同的範圍。 請確保您在第六行輸入的工作表名稱是現有工作表名稱。
網站主持人對此評論進行了最小化
我正在使用它來創建編織圖案。 我想有幾組組,所以我只需要更改一個單元格就可以看到我的模式會發生什麼。 它從單元格 a1 到 c1 有效,但是當我嘗試將新集合 a2 添加到 c1 時,它沒有。 我可能會誤解,但我在第一個公式下面複製了相同的公式並更改了單元格引用。 那是問題嗎? 還有其他方法嗎?
網站主持人對此評論進行了最小化
這個在粘貼第二張參考表時對我有用——但我必須進行修改,我將在下面顯示修改,以便您可以看到 Crystal 的第一個版本,然後在我需要包含兩組時進行修改之一。 這是Crystal在他嘗試時說目標範圍變黑後給Joey的:
私人子工作表_SelectionChange(ByVal Target As Range)
將 xRg 調暗為範圍
將 xCRg 調暗為範圍
將 xStrAddress 調暗為字符串
將 xFNum 調暗為整數
xStrAddress = "Sheet2!$A$1:$A$10"
設置 xRg = Application.Range(xStrAddress)
設置 xCRg = Me.Range("$A$1:$A$10")
在錯誤恢復下一頁
對於 xFNum = 1 到 xRg.Count
xRg.Item(xFNum).Interior.Color = xCRg.Item(xFNum).Interior.Color
下一頁
END SUB
為了包含兩組(例如引用不同的列或行或你有什麼)而工作的我的模塊是包括這部分:
在錯誤恢復下一頁
對於 xFNum = 1 到 xRg.Count
xRg.Item(xFNum).Interior.Color = xCRg.Item(xFNum).Interior.Color
下一頁
在我的每個“集合”之後
因此,在不修改 Crystal 提供的樣本集彼此不同的情況下(如果您嘗試引用不同的行等,您可能會是這樣),它看起來像這樣:
私人子工作表_SelectionChange(ByVal Target As Range)
將 xRg 調暗為範圍
將 xCRg 調暗為範圍
將 xStrAddress 調暗為字符串
將 xFNum 調暗為整數
xStrAddress = "Sheet2!$A$1:$A$10"
設置 xRg = Application.Range(xStrAddress)
Set xCRg = Me.Range("$A$1:$A$10")On Error Resume Next
對於 xFNum = 1 到 xRg.Count
xRg.Item(xFNum).Interior.Color = xCRg.Item(xFNum).Interior.Color
下一頁
xStrAddress = "Sheet2!$A$1:$A$10"
設置 xRg = Application.Range(xStrAddress)
設置 xCRg = Me.Range("$A$1:$A$10")
在錯誤恢復下一頁
對於 xFNum = 1 到 xRg.Count
xRg.Item(xFNum).Interior.Color = xCRg.Item(xFNum).Interior.Color
下一頁
END SUB

第 6-8 行和第 13-15 行是“集合”,第 9-12 行和第 16-19 行是必須在每組之後重複的代碼。
我希望這是有道理的,因為我對此一無所知,我只是找到了一種複制此處列出的有效內容的方法。 我第一次嘗試通過按原樣插入代碼來設置兩組,第一組將單元格變為黑色,第二組工作並將目標單元格變為正確的顏色。 我終於想通了,為了工作,每組都需要後面的第 9-12 行代碼。 這個mod允許適當的顏色(在我的情況下)從原始表上的兩個不同列轉移到目標表上給定範圍內的相應單元格。
網站主持人對此評論進行了最小化
如何根據要自動鏈接的另一個單元格值和顏色鏈接單元格顏色。

堡壘示例。



我有工作表 1 的值為 898,工作表 2 的值為 898,並且該單元格是粉紅色的。 如何根據線索將相同的顏色鏈接到相同的顏色是要鏈接到表 2 的表 1 - 所以它可以顯示相同的顏色。 但這將是一個範圍; 使用整行匹配其值,然後鏈接顏色。



任何幫助是極大的讚賞
網站主持人對此評論進行了最小化
嗨,esad,我現在和你有同樣的情況,如果你能分享我將不勝感激
網站主持人對此評論進行了最小化
我正在尋找從條件格式表生成的複制顏色到另一個表 - 自動使用公式/函數。這可能嗎?
網站主持人對此評論進行了最小化
海蘭,
我希望當我手動更改 A 列 sheet1 中的顏色以自動更改 A 列 sheet2 中的顏色時。
我在尋求幫助。 謝謝
網站主持人對此評論進行了最小化
嗨 Ivana,請嘗試以下代碼。 Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'更新者 Extendoffice 20201127
將 xRg 調暗為範圍
將 xCRg 調暗為範圍
將 xStrAddress 調暗為字符串
將 xFNum 調暗為整數
xStrAddress = "Sheet2!$A$1:$A$100"
設置 xRg = Application.Range(xStrAddress)
設置 xCRg = Me.Range("$A$1:$A$100")
在錯誤恢復下一頁
對於 xFNum = 1 到 xRg.Count
xRg.Item(xFNum).Interior.Color = xCRg.Item(xFNum).Interior.Color
下一頁
END SUB
網站主持人對此評論進行了最小化
Hola buenas tardes。 Como hacer que cuando seleccione una celda se active otra, y si selecciono otro cambie a otro celda con que este vinculada.Ejemplo: si alecciono A1 se active celda H20, y si doy otro clic se deactive。 Se que seria mucho trabajo porque tendria que programar cada celda, pero no importa, es solo saber como hacerlo。 Gracias por su apoyo!
網站主持人對此評論進行了最小化
嗨,上面的代碼有效,但不會在一張紙上多次工作? 
網站主持人對此評論進行了最小化
大家好,

我的問題是我的主頁(第一張紙)包含以下表格中提供的信息摘要。 所有相關單元格都已格式化以反映其他工作表中相應單元格的值。

例如,我的單元格主頁單元格 F7 已經格式化,因此它複製源表中相應單元格的值:
=季度1!B15

現在,我真正想要的是讓我主頁上的單元格也匹配我為另一張表中的相應(源)單元格手動選擇的顏色。 這可能使用VBA編碼嗎?

我從另一個站點獲得了以下代碼,但它僅在單元格位於同一張表上時才有效。
私人子工作表_SelectionChange(ByVal Target As Range)
Me.Range("C1").Interior.Color = Me.Range("A1").Interior.Color
END SUB

有沒有辦法可以調整此代碼以引用同一工作簿中另一張工作表上的單元格?

非常感謝你的幫助!
網站主持人對此評論進行了最小化
嗨,我想知道你是否可以幫助我
我有一個電子表格,在第 17 行有團隊成員(其中 2 人)的名字
在 H 列中,我們將任務分配給團隊成員
在 T 列中,我們有數據顯示團隊成員處於此任務的哪個階段(綠色/琥珀色/紅色)
我想做的是將任務的顏色從 col T 帶到 Col H,並使用我們輸入的名稱

任何幫助將不勝感激
網站主持人對此評論進行了最小化
嗨,安,
您介意提供數據的屏幕截圖嗎? 帶來不便敬請諒解。
網站主持人對此評論進行了最小化
按照所附
團隊名稱在第 2 行(R 到 AD)
團隊名稱下的每一行都與 Col D 中的任務相關
我想要的是,當在 Col L 中輸入名稱時,它會使用該行上團隊成員 col 的顏色為該單元格著色
例如,在 Col L 中輸入 Emma,它在 W1 中查看 Emma 並從 W2 中帶來 Green。 如果是寶拉,我會在 T1 中看著寶拉,然後從 T2 等拿來琥珀
輸入的名稱仍將作為 L2 和 3 中的示例

感謝您的幫助
不知道如何附加屏幕截圖或文件 我可以通過電子郵件發送
網站主持人對此評論進行了最小化
嗨,安,
我嘗試了一些方法,仍然無法解決您的問題。 帶來不便敬請諒解。
網站主持人對此評論進行了最小化
感謝您的嘗試
網站主持人對此評論進行了最小化
Aqui la tiene en ingles


私人子工作表_SelectionChange(ByVal Target As Range)
將 xRg 調暗為範圍
將 xCRg 調暗為範圍
將 xStrAddress 調暗為字符串
將 xFNum 調暗為整數
xStrAddress = ("Hoja2!A1")
設置 xRg = Application.Range(xStrAddress)
設置 xCRg = Me.Range("A1")
在錯誤恢復下一頁
對於 xFNum = 1 到 xRg.Count
xRg.Item(xFNum).Interior.Color = xCRg.Item(xFNum).Interior.Color
下一頁
END SUB
網站主持人對此評論進行了最小化
我發現使用這行代碼成功:
私人子工作表_SelectionChange(ByVal Target As Range)
將 xRg 調暗為範圍
將 xCRg 調暗為範圍
將 xStrAddress 調暗為字符串
將 xFNum 調暗為整數
xStrAddress = "Sheet2!$A$1:$A$10"
設置 xRg = Application.Range(xStrAddress)
設置 xCRg = Me.Range("$A$1:$A$10")
在錯誤恢復下一頁
對於 xFNum = 1 到 xRg.Count
xRg.Item(xFNum).Interior.Color = xCRg.Item(xFNum).Interior.Color
下一頁
END SUB

我希望能夠在一段代碼中使用一個範圍來影響其他幾個範圍。 即,如果我更改 $A$1:$A$10 中的顏色,它會更改 $C$10:$C$19、$D$21:$D$30 和 $F$10:$F$19 中的顏色。 這可能嗎? 謝謝你。
網站主持人對此評論進行了最小化
大家好,任何人都可以幫助我處理與 esad 相同的情況
這裡還沒有評論
載入更多
留下你的意見
以訪客身份發帖
×
評價此帖子:
0   字符
推薦地點

關注我們

版權所有©2009 - 萬維網。extendoffice.com。 | 版權所有。 供電 ExtendOffice。 |
Microsoft和Office徽標是Microsoft Corporation在美國和/或其他國家的商標或註冊商標。
受Sectigo SSL保護