魔兽里弗斯电池:excel vba 高亮显示当前行代码
来源:百度文库 编辑:偶看新闻 时间:2024/04/28 20:23:17
用条件格式设置高亮显示当前行,难的是如何确定当前行。用VBA就很简单,鼠标右击工作表标签,选择“查看代码”,将下面的代码粘贴到VBE窗口中
代码:
复制代码 代码如下:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ThisWorkbook.Names.Add "XM", Target
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设置背景色,做法如下:
鼠标右键点击工作表标签,选择“查看代码”,将下面代码粘贴到光标处:
代码:
复制代码 代码如下:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Rng As Range
Set Rng = Target.Range("a1")
Cells.Interior.ColorIndex = 0 '清除所有背景色
Rng.EntireColumn.Interior.ColorIndex = 40 '设置当前列颜色
Rng.EntireRow.Interior.ColorIndex = 36 '设置当前行颜色
End Sub 其中40、36为颜色索引号,不同的数值代表不同的颜色,对应索引如下:
如果工作簿中的每张工作表都有相同效果,应该怎么做?
按Alt+F11打开VBE编辑器,在工程管理器中双击模块“ThisWorkbook”,将下面的代码粘贴到光标处:
代码:
复制代码 代码如下:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim Rng As Range
Set Rng = Target.Range("a1")
Cells.Interior.ColorIndex = 0 '清除所有背景色
Rng.EntireColumn.Interior.ColorIndex = 40 '设置当前列颜色
Rng.EntireRow.Interior.ColorIndex = 36 '设置当前行颜色
End Sub 使用了这个代码后,表中的“复制”和“拷贝”功能就被禁止了,不知有无办法可以解决?
可在代码第二行(清除颜色之前就行)插入一行代码:
If Application.CutCopyMode Then Exit Sub '如果处于选取状态则退出程序
代码:
复制代码 代码如下:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If Application.CutCopyMode Then Exit Sub '如果处于选取状态则退出程序
Dim Rng As Range
Set Rng = Target.Range("a1")
Cells.Interior.ColorIndex = 0 '清除所有背景色
Rng.EntireColumn.Interior.ColorIndex = 40 '设置当前列颜色
Rng.EntireRow.Interior.ColorIndex = 36 '设置当前行颜色
End Sub
代码:
复制代码 代码如下:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ThisWorkbook.Names.Add "XM", Target
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设置背景色,做法如下:
鼠标右键点击工作表标签,选择“查看代码”,将下面代码粘贴到光标处:
代码:
复制代码 代码如下:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim Rng As Range
Set Rng = Target.Range("a1")
Cells.Interior.ColorIndex = 0 '清除所有背景色
Rng.EntireColumn.Interior.ColorIndex = 40 '设置当前列颜色
Rng.EntireRow.Interior.ColorIndex = 36 '设置当前行颜色
End Sub 其中40、36为颜色索引号,不同的数值代表不同的颜色,对应索引如下:
如果工作簿中的每张工作表都有相同效果,应该怎么做?
按Alt+F11打开VBE编辑器,在工程管理器中双击模块“ThisWorkbook”,将下面的代码粘贴到光标处:
代码:
复制代码 代码如下:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim Rng As Range
Set Rng = Target.Range("a1")
Cells.Interior.ColorIndex = 0 '清除所有背景色
Rng.EntireColumn.Interior.ColorIndex = 40 '设置当前列颜色
Rng.EntireRow.Interior.ColorIndex = 36 '设置当前行颜色
End Sub 使用了这个代码后,表中的“复制”和“拷贝”功能就被禁止了,不知有无办法可以解决?
可在代码第二行(清除颜色之前就行)插入一行代码:
If Application.CutCopyMode Then Exit Sub '如果处于选取状态则退出程序
代码:
复制代码 代码如下:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If Application.CutCopyMode Then Exit Sub '如果处于选取状态则退出程序
Dim Rng As Range
Set Rng = Target.Range("a1")
Cells.Interior.ColorIndex = 0 '清除所有背景色
Rng.EntireColumn.Interior.ColorIndex = 40 '设置当前列颜色
Rng.EntireRow.Interior.ColorIndex = 36 '设置当前行颜色
End Sub
Source Insight中如何高亮显示当前行?
Excel中如何封装VBA 代码
Excel VBA
Excel VBA
vba excel
Excel VBA代码移植到其他计算机的问题
VS2005下,gidview里当前行编辑状态下,更新按钮的代码怎么写?
VS2005下,gidview里当前行编辑状态下,更新按钮的代码怎么写?
DaTaGridView怎么获得当前行?
excel VBA小问题
EXCEL VBA 问题
excel VBA教程电子书
Excel VBA 高手进
EXCEL VBA 基础教程下载
Excel VBA中EXCEL对象?
我想在excel中打开、保存、再关闭另一个工作薄,其vba代码怎么写
VBA代码是什么????????
元素大战vba代码
臣宜披坚执锐,当矢石,启前行。
GBA牧场物语女生版金手指VBA代码(一定要能用的呀)分数我给高!
哪有买Excel 2003 VBA教程
谁有excel VBA教程
excel vba ontime的问题
作一个excel-VBA宏