WPS有一个比较有意思的功能叫十字光标,就是可以亮显选择单元格的行列,数据量比较多的时候可以方便查看数据,可惜Excel原生并没有类似的功能,网上搜索了一下,发现可以通过VBA完成类似的功能,便尝试了一下。
思路是通过VBA获得选择区域的行与列,在行列中添加条件格式,通过条件格式改变行与列单元格的填充。当选择区域发生更改的时候,清除掉单元格的条件格式,重复取得行列,添加条件格式的步骤。
美中不足的是因为是使用条件格式来进行高亮的,启用时表格就不能使用条件格式功能了,因为每次更改选区时都会触发清除条件格式的命令。
VBA代码:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells.FormatConditions.Delete '清除条件格式
For Each Row In Target.Rows '遍历选择的行
With Row.EntireRow.FormatConditions '行通过条件格式改变填充
.Add xlExpression, , "TRUE"
.Item(1).Interior.Color = RGB(217, 217, 217)
End With
Next
For Each Col In Target.Columns '遍历选择的列
With Col.EntireColumn.FormatConditions '列通过条件格式改变填充
.Delete
.Add xlExpression, , "TRUE"
.Item(1).Interior.Color = RGB(217, 217, 217)
End With
Next
End Sub

VBA实现Excel十字光标功能
本文介绍如何使用VBA在Excel中实现类似于WPS的十字光标功能,通过条件格式高亮显示所选单元格的行列,便于在大量数据中快速定位。但该方法会禁用表格的条件格式功能。
2141

被折叠的 条评论
为什么被折叠?



