Excel中如何让某一区域的单元格颜色根据另外一个区域单元格的颜色变化而变化?

比如最后一列设置了数据条,颜色会根据填入的数据不同自动变化,如何让对应单元格左侧的一行单元格的颜色都与此单元格颜色相同呢?有没有VBA方面的大神帮助解决一下?其实问题可以简化为,读取AM列单元格的颜色,将A-AL对应行的颜色设置为一致。

实现效果如上,方法步骤(具体结合你的实际,调整下面的代码):


【第1步】:右键此表,在查看代码里 ,复制下面代码进去

Sub 自动填充颜色()

For Each Rng In [A2:A5]

Rng.Resize(1, 38).Interior.Color = Cells(Rng.Row, "AM").DisplayFormat.Interior.Color

Next

End Sub


【第2步】:在此表插入一个按钮,右右键它关联代码,大功告成。以后点按钮,即可按照AM列颜色自动更新A--AL列颜色。

追问

请问可以做到颜色自动更新嘛,就是不用插入按钮,比如我按F9刷新什么的

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-10-22

开始---条件格式,设置单元格 大于、小于、等于的颜色,与数据条颜色一致即可

第2个回答  2019-10-22
直接方法是用VBA的事件,自动同步2个格的颜色
否则需要了解数据条颜色变化的规律,用条件格式确定目标格的颜色,这个方法不太好,只能用在颜色种类很少的情况

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
[B1].Interior.Color = [A1].Interior.Color
End Sub
这个代码是当表中有数据变化时,B1就是变成A1的颜色,你可以参考改成需要的情况
第3个回答  2019-10-22

如果一定要用函数来读取该单元格的颜色会比较麻烦,GET.CELL函数其实不是特别好用。

既然你设置了数据条,应该就有条件实现判断,使用这个判断来作为条件格式的条件即可实现单元格自动变色。

比较麻烦的是,因为数据条有多种状态和颜色,需要对同一行数据设置多次,然后使用格式刷来刷到其他行。

第4个回答  2019-10-22
你的行多不多呢? 是不是固定的行?

如果行不多又是固定的,其实简单的办法是录制宏,

逐行用格式刷刷以下,然后结束录制,快捷键以下就行了
相似回答