作者:绿色风
分类:
时间:2022-08-17
浏览:101
楼主 悟空师弟 |
Q:如何让选中单元格所在行变色但不影响原有条件格式的颜色和单元格格式设置的颜色? 想实现选中单元格所在行即变颜色,且为了不影响原有单元格格式设置的颜色,选用VBA设置条件格式来实现,但这样处理后原有的条件格式设置的颜色又会失效,怎么样才能实现让选中单元格所在行变色但不影响原有条件格式的颜色和单元格格式设置的颜色呢? 代码如下:- Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
- On Error Resume Next
- Cells.FormatConditions.Delete
- iColor = Int(15)
- Dim aaa As Range
- c1 = ActiveCell.Column
- r1 = ActiveCell.Row
- aaa = Range(Chr(65) & "3:b3")
- With Target.EntireRow.FormatConditions
- .Delete
- .Add xlExpression, , "TRUE"
- .Item(1).Interior.ColorIndex = iColor
- End With
- End Sub
A: 如何让选中单元格所在行变色但不影响原有条件格式的颜色和单元格格式设置的颜色?.zip
可以将原有的条件格式设成代码,与选中单元格整行变色的代码一起反复运行可以实现“让选中单元格所在行变色但不影响原有条件格式的颜色和单元格格式设置的颜色”的效果。 不过,这样设置后要改原有的条件要进入VBA代码修改,也是比较麻烦。
不管怎么样,总之一条,具体情况具体解决,能找到最好的解决办法才是最好的。 代码如下:- Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
- On Error Resume Next
- Cells.FormatConditions.Delete
- Range("B3:D16").FormatConditions.Add Type:=xlExpression, Formula1:="=8"
- Range("B3:D16").FormatConditions(1).Interior.ThemeColor = 7
- iColor = Int(15)
- Dim aaa As Range
- c1 = ActiveCell.Column
- r1 = ActiveCell.Row
- aaa = Range(Chr(65) & "3:b3")
- With Target.EntireRow.FormatConditions
- .Delete
- .Add xlExpression, , "TRUE"
- .Item(1).Interior.ColorIndex = iColor
- End With
- End Sub
以上代码在原代码中新加了以下两句:可根据实际情况修改:- Range("B3:D16").FormatConditions.Add Type:=xlExpression, Formula1:="=8"
- Range("B3:D16").FormatConditions(1).Interior.ThemeColor = 7
效果如下:(注:B3:D16为固定条件格式区域,F3:H17为单元格格式设置颜色的区域。)
|
2楼 亡者天下 |
很好,过来学习一下 |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一