之前发布了一篇名为 Excel~选中单元格行列高亮 的文章,文章中的代码可以很好地实现选定 Excel 单元格的行列高亮显示,然而代码是通行通列改变底色的,如果仅仅是电脑端显示还可以,打印的时候如果不注意可能会导致打印出无用的区域,今天闲来无事将代码进一步优化使得高亮区域限制在一定区域内,效果更好一些。具体效果如下:

下面是实现此功能的具体代码:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim numRows, numColumn As Integer

    nSelected = Target.Row
    numRows = ActiveSheet.UsedRange.Cells(1, 1).Row + ActiveSheet.UsedRange.Rows.Count - 1
    numColumn = ActiveSheet.UsedRange.Cells(1, 1).Column + ActiveSheet.UsedRange.Columns.Count - 1
    
    If Target.Row < 7 Or Target.Row > numRows - 1 Or Target.Column < 2 Or Target.Column > numColumn - 1 Then
        ActiveSheet.Cells.Interior.ColorIndex = 2
        Range("B6:V6").Interior.Color = 12611584
    Else
        Cells.Interior.ColorIndex = 2
        Range("B6:V6").Interior.Color = 12611584
        Range(Cells(nSelected, 2), Cells(nSelected, 22)).Interior.ColorIndex = 6
        
    End If
End Sub

将代码插入工作簿的当前工作表下即可。其中限制区域的边界大家根据实际情况调整下上面的参数即可,Range(“B6:V6”) 是为了保持行标题栏色彩不变。另外这里只设置了行高亮的显示,列高亮显示与此类似,请各位自行调整。