ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 6585|回复: 12

[求助] 高亮显示光标所在行

[复制链接]

TA的精华主题

TA的得分主题

发表于 2015-8-22 10:04 | 显示全部楼层 |阅读模式
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells.Interior.ColorIndex = xlNone
With Target
If .Count > 1 Then
Exit Sub
Else
Rows(.Row).Interior.ColorIndex = 15
End If
End With
End Sub

各位前辈好,这是我在网上找的代码,非常好用!!!最近正在学习VBA,但是对代码含义理解还是很模糊,可否麻烦大神出来给我解释下,万分感谢!


评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2015-8-22 10:31 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
  1. Private Sub Worksheet_SelectionChange(ByVal Target As Range) '工作表事件——当单元格选中时自动发生
  2. Cells.Interior.ColorIndex = xlNone '去掉工作表当中所有单元格底色
  3. With Target              '选中的单元格对象
  4. If .Count > 1 Then     '如果选中的单元格大于1
  5. Exit Sub               '程序退出,不执行后面的语句
  6. Else                   '否则(即选中的单元格等于1)
  7. Rows(.Row).Interior.ColorIndex = 15   '选中的单元格整行添加灰色底色
  8. End If
  9. End With
  10. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2015-8-22 10:33 | 显示全部楼层
其实,可以也可以添加一句,在整列上也高亮显示
  1. Private Sub Worksheet_SelectionChange(ByVal Target As Range) '工作表事件——当单元格选中时自动发生
  2. Cells.Interior.ColorIndex = xlNone '去掉工作表当中所有单元格底色
  3. With Target              '选中的单元格对象
  4. If .Count > 1 Then     '如果选中的单元格大于1
  5. Exit Sub               '程序退出,不执行后面的语句
  6. Else                   '否则(即选中的单元格等于1)
  7. Rows(.Row).Interior.ColorIndex = 15 '选中的单元格整行添加灰色底色
  8. Columns(.Column).Interior.ColorIndex = 15  '选中的单元格整列添加灰色底色
  9. End If
  10. End With
  11. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2015-8-22 11:48 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
问题是:如果工作簿设密码后,高亮功能就消失了。这个怎么解决?请提供完整的代码,谢谢

TA的精华主题

TA的得分主题

发表于 2015-8-22 11:49 | 显示全部楼层
huang1314wei 发表于 2015-8-22 10:33
其实,可以也可以添加一句,在整列上也高亮显示

请问怎样把光标所在行列的标签(1,2,3---;A,B,C---)默认颜色改为其他清晰点颜色?

TA的精华主题

TA的得分主题

发表于 2015-8-22 11:55 | 显示全部楼层
sunny_8848 发表于 2015-8-22 11:49
请问怎样把光标所在行列的标签(1,2,3---;A,B,C---)默认颜色改为其他清晰点颜色?

改变colorindex的值就行了,比如把上面的代码当中的15改成7

TA的精华主题

TA的得分主题

发表于 2015-8-22 14:03 | 显示全部楼层
本帖最后由 sunny_8848 于 2015-8-22 14:08 编辑
huang1314wei 发表于 2015-8-22 11:55
改变colorindex的值就行了,比如把上面的代码当中的15改成7

谢谢。我的意思不是这样。比如选择B1单元格时,我只要求列标签字母B和行标签1显示红色,为方便查看并不要求整行整列高亮(而且高亮整行整列会让已经设置背景色的单元格颜色显示不正常)

TA的精华主题

TA的得分主题

 楼主| 发表于 2015-8-24 10:32 | 显示全部楼层
huang1314wei 发表于 2015-8-22 10:33
其实,可以也可以添加一句,在整列上也高亮显示

感激涕零   看来我还要好好学习

TA的精华主题

TA的得分主题

发表于 2017-5-9 12:13 | 显示全部楼层
huang1314wei 发表于 2015-8-22 10:33
其实,可以也可以添加一句,在整列上也高亮显示

非常实用,谢谢老师

TA的精华主题

TA的得分主题

发表于 2019-3-15 16:07 | 显示全部楼层
Option Explicit '高亮显示
Option Base 1
Dim myapp As Class1
'by cheng
Sub brightrow()
On Error Resume Next
Set myapp = New Class1
Set myapp.app = Application
End Sub
Sub stopbrightrow()
On Error Resume Next
Set myapp = Nothing
End Sub
Sub auto_open()
On Error Resume Next
Dim mybutt As CommandBarButton
Set mybutt = CommandBars("tools").FindControl(, , "brightrow", True)
If mybutt Is Nothing Then
    Set mybutt = Application.CommandBars("tools").Controls.add(msoControlButton, , , , True)
    mybutt.Caption = "按下高亮显示"
    mybutt.OnAction = "brightrow"
    mybutt.Tag = "brightrow"
End If
Dim mybutt1 As CommandBarButton
Set mybutt1 = CommandBars("tools").FindControl(, , "stopbrightrow", True)
If mybutt1 Is Nothing Then
    Set mybutt1 = Application.CommandBars("tools").Controls.add(msoControlButton, , , , True)
    mybutt1.Caption = "取消高亮显示"
    mybutt1.OnAction = "stopbrightrow"
    mybutt1.Tag = "stopbrightrow"
End If
End Sub
Sub auto_close()
On Error Resume Next
Dim mybutt As CommandBarButton
Set mybutt = CommandBars("tools").FindControl(, , "brightrow", True)
If Not mybutt Is Nothing Then
    mybutt.Delete
End If
Set mybutt = CommandBars("tools").FindControl(, , "stopbrightrow", True)
If Not mybutt Is Nothing Then
    mybutt.Delete
End If
End Sub
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-3-29 04:37 , Processed in 0.047960 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表