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