Excel VBA程序如何自动高亮显示当前行和列

用条件格式设置高亮显示当前行,难的是如何确定当前行。用VBA就很简单,鼠标右击工作表标签,选择“查看代码”,将下面的代码粘贴到VBE窗口中:

  1. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  2. ThisWorkbook.Names.Add "XM", Target
  3. End Sub

这几行代码的作用是,当选择新的单元格时,将这个单元格(或者区域)定义为名称“XM”,在条件格式设置中可以引用这个名称。

如下面的附件,将代码粘贴完成后,返回工作表中,选择A4:I15,点击菜单“格式—条件格式”,设置:

公式1:=(A4<>"")*(A4=XM)

(如果A4不为空,并且A4等于XM)

公式2:=ROW()=ROW(XM)

(如果当前的行号等于XM的行号)

用代码定义名称,我们需要它的即时更新,鼠标点到什么,这个名称“XM”就更新什么。

例如,当鼠标点击F7单元格,XM便等于F7,ROW(XM)=7,设置条件格式的区域中,凡是Row()等于7(说白了就是第7行)的单元格便显示背景色。

用手工定义也可得到相同的效果,可以试试。然后比较一下,用代码的好处是什么。

当选中B6单元格时有不一样的情况出现,是因为区域中设置了两个条件格式,它符合第一个条件便显示第一种格式,符合第二个条件便显示第二个格式。

点击菜单“格式—条件格式”可看清楚。

直接用VBA设置背景色,做法如下:

其中40、36为颜色索引号,不同的数值代表不同的颜色,对应索引如下:

按Alt F11打开VBE编辑器,在工程管理器中双击模块“ThisWorkbook”,将下面的代码粘贴到光标处:

  1. Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
  2. Dim Rng As Range
  3. Set Rng = Target.Range("a1")
  4. Cells.Interior.ColorIndex = 0 '清除所有背景色
  5. Rng.EntireColumn.Interior.ColorIndex = 40 '设置当前列颜色
  6. Rng.EntireRow.Interior.ColorIndex = 36 '设置当前行颜色
  7. End Sub

如下图所示:

可在代码第二行(清除颜色之前就行)插入一行代码:

If Application.CutCopyMode Then Exit Sub ’如果处于选取状态则退出程序

  1. Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
  2. If Application.CutCopyMode Then Exit Sub '如果处于选取状态则退出程序
  3. Dim Rng As Range
  4. Set Rng = Target.Range("a1")
  5. Cells.Interior.ColorIndex = 0 '清除所有背景色
  6. Rng.EntireColumn.Interior.ColorIndex = 40 '设置当前列颜色
  7. Rng.EntireRow.Interior.ColorIndex = 36 '设置当前行颜色
  8. End Sub
(0)

相关推荐

  • 在excel表格中如何增加或删除行和列?

    方法/步骤 1.打开电子表格,建好自己需要的表格后,发现少了行了,把鼠标在建好的表格内的任何一个单元格单击一下,最好是在最后一行单击,然后单击一下右键,找到插入,单击一下. 2.找到整行,在整行前面的 ...

  • Excel电子表格怎样找出隐藏的行和列

    下面介绍在EXCEL表格中找出隐藏的行和列的方法,希望本指南能帮到大家. 操作方法 01 以下图中的表格为例演示操作方法. 02 把表格这些行全都选中. 03 鼠标再右击表格,弹出菜单,再点" ...

  • 插入与删除Excel表格单元格行和列

    您可以在Excel工作表中活动单元格的上方或左侧插入空白单元格,同时将同一列中的其他单元格下移或将同一行中的其他单元格右移。同样,您可以在一行的上方插入多行和在一列的左边插入多列。您还可以删除单元格、 ...

  • excel怎么高亮显示区域中活动单元格所在的行和列

    对于一个行数和列数都比较多的Excel表格,当需要查看表格中某单元格所在行或列所对应的数据时,有时会出现看错行、看错列的情况。虽然可以 采用冻结窗格、选择行标等方法来查看,但仍然有些不够方便和快捷。本 ...

  • 让Excel活动单元格所在行和列都着上背景颜色的VBA代码

    在Excel中,为了增强活动单元格的对比性,有时候我们常常需要修改其背景颜色、字体、字号等,用来区分和其它单元格的对比! 本教程,让我们一起来学习,如何让Excel活动单元格所在行和列都着上背景颜色, ...

  • 怎么使用VBA代码实现excel文档每天自动备份

    怎么使用VBA代码实现excel文档每天自动备份 实现这样"高大尚"的功能现有的excel功能无法完成,还得VBA编程的方法.当然,作为不懂VBA代码的你,只需要按下面步骤复制粘贴 ...

  • excel vba编程制作一个恶作剧小程序

    今天小编为大家分享excel中使用vba制作一个恶作剧小程序方法,很不错,值得大家学习,推荐过来,一起来学习吧! 步骤 1.首先我们打开一个工作样表作为例子. 2.使用alt+f11组合快捷键进入vb ...

  • excel选中单元格所在的行和列高亮显示

    将excel选中单元格所在的行和列高亮显示 操作方法 01 在需要的Excel左下方工作表处点击右键:选择右键菜单[查看代码] 02 将以下代码复制到编辑框内:Private Sub Workshee ...

  • 编辑Word VBA程序自动打开Word2003打开对话框

    对于经常使用Word编辑文档的用户来说,每次运行Word程序后的第一件事应该是打开"打开"对话框.既然如此,用户可以通过编写Word VBA程序,实现自动打开Word"打 ...