excel中选择任意一个单元格使其对应的同行同列的单元格变色(不要整行整列,正好到单元格的位置)

如图,我的目的就是,在点击D5的时候,D5所在的行和列,在D5单元格之前和之上的一段行和列变色; 整行和整列我找到怎么用弄了,可以这个愿望一直未能实现,谢谢大神们!

已知如下代码可以实现下图单击E7的时候整行整列都变色了:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)Cells.Interior.Pattern = xlNoneRows(Target.Row).Interior.Color = 65535Columns(Target.Column).Interior.Color = 65535End Sub

1.根据目前的情况,要实现这样的效果,只能使用VBA来实现,下面是方法。

如下图,这是正常情况下的效果,当选择一个单元格后,只有这个单元格边框颜色有所变化,该行的其它单元格,都未发生任何变化。

2.现在,要做的就是,如下图一样,一旦选择了某个单元格,那么,该单元格所在的行,颜色发生改变,以方便录入数据。

3.实现的方法是,在工作表名称(如:Sheet1)上点击右键,在弹出的快捷菜单中选择“查看代码”,如下图。

4.接下来,会弹出VBA代码编写窗口,如下图。

5.上图中,在Sheet1上点击右键,选择“查看代码”,弹出代码编写窗口。

现在,要做的就是输入VBA功能代码了,代码如上图!记住,先选择好Worksheet对象名称和SelectionChange事件名称,然后在窗口中输入如上图右边的那些代码。

  为方便大家学习,下面粘贴出源代码:

  Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  Rows().Interior.ColorIndex = 0
  x = ActiveCell.Row
  Rows(x).Interior.ColorIndex = 9
  End Sub

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-02-12

1、先右键工作表,点击查看代码。

2、然后插入代码,代码复制进去就好。单击后所属行变色:Private Sub Worksheet_Selection

Change(ByVal Target As Excel.Range)On Error Resume Next Cells。

3、FormatConditions.Delete With Target.EntireRow.FormatConditions .Delete .Add xlExpression, , "TRUE" .Item(1).Interior.ColorIndex=7 End With End Sub。

4、单击后所属行变色代码如下图。

5、右键打开后,直接复制进去代码,直接关闭。

6、最后,任意点击单元格就能将整行变色。录入不同的代码将进行不同的行、列变色。

本回答被网友采纳
第2个回答  推荐于2016-05-17

代码如下

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Cells.Interior.Pattern = xlNone

Range(Cells(Target.Row, 1), Target).Interior.Color = 65535

Range(Cells(1, Target.Column), Target).Interior.Color = 65535

End Sub

本回答被提问者采纳
相似回答