最近做表格的需要,想要实现一个功能:
选中excel中的某一个单元格,同时改变单元格所在的行和列的背景色,高亮单元格的位置。
通过搜索,发现如下代码:
在excel中,使用组合件alt+f11,调取vb工程窗口,然后选择workbook重点表格选中改变函数Workbook_SheetSelectionChange(),在函数内粘贴如下代码
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
With Target
‘本代码会删除所有单元格原有背景色,慎用
‘清除工作表单元格的背景色
.Parent.Cells.Interior.ColorIndex = xlNone
‘设置选中区域所在行的背景色
.EntireRow.Interior.Color = &HE6F5FD
‘设置选中区域所在列的背景色
.EntireColumn.Interior.Color = &HE6F5FD
End With
End Sub
然后保存,对于未启用宏命令的excel文件,如后缀为 .xlsx和xls的文件,请保存为启用了宏命令的文件类型,如 .xlsm或者.xltm。
保存之后,表格就可以实现自动高亮单元格所在行与列的位置。