当鼠标点到excel单元格时,单元格所在的行和列会自动显示颜色

如题所述

这个需要用到代码,方法如下:
1.打开需要应用的excel。
2.按alt+f11,会弹出代码编辑框。
3.在左边会显示出上下两个类别框里,名字分别是project-vbaproject和properties-sheet1(这个sheet几是你当前编辑的表单)
(注意:如果什么也新出来的窗口什么也不显示的话,就->视图->工程资源管理器
就会出来了,此时你可以在project-vbaproject和properties-sheet1上直接右键查看代码,在里面直接粘贴第六条的代码即可)
4.在上面的框边有三个小图标,view
code(查看代码),view
project(查看项目),toggle
folder(打开或折叠文件夹)。
5.选择view
code,会弹出一个编辑框。
6.在编辑框里黏贴下面的语言:
private
sub
worksheet_selectionchange(byval
target
as
range)
with
target
'清除工作表单元格的背景色
.parent.cells.interior.colorindex
=
xlnone
'设置选中区域所在行的背景色
.entirerow.interior.color
=
vbgreen
'设置选中区域所在列的背景色
.entirecolumn.interior.color
=
vbgreen
end
with
end
sub
7.
贴完之后,关闭对话框。关闭编辑框,返回到excel。
8.这时候你再点击任意单元格,就会自动出现你要的效果了。
备注:上面语言中的汉语不用删除,汉语可以可以帮助你了解该行的意思,同时也不会影响编辑效果。如果对行或列的色彩不满意,可以参考下面的色彩代码,自行修改。
vbblack

vbred

vbgreen
绿
vbyellow

vbblue

vbmagenta
洋红
vbcyan

vbwhite

上面的办法对已经有填充色的表格是个灾难,它会清楚原有颜色。
你也可以试试下面的方法:
private
sub
worksheet_selectionchange(byval
target
as
excel.range)
on
error
resume
next
cells.formatconditions.delete
with
target.entirerow.formatconditions
.delete
.add
xlexpression,
,
"true"
.item(1).interior.colorindex
=
7
end
with
end
sub
这个虽然只能显示行不能显示列,但是不会破坏原有填充色。
回答完毕,希望是你要的。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-09-05
这个需要用VBA做一个代码。
按ALT+F11打开VBA窗口,在左边找到ThisWorkBook项目,双击后会在右边出现一个空白窗口,把下面代码复制进去:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rng As Range
Cells.Interior.ColorIndex = xlNone
Set rng = Application.Union(Target.EntireColumn, Target.EntireRow)
rng.Interior.ColorIndex = 24
End Sub
回到EXCEL窗口,当选定一个单元格时,这个格的行、列都会被填充颜色。本回答被提问者和网友采纳
相似回答