问与答95:如何根据当前单元格中的值高亮显示相应的单元格?

2021-03-12 16:52:07 浏览数 (2)

excelperfect

Q:这个问题很奇怪,需要根据在工作表Sheet1中输入的数值高亮显示工作表Sheet2中相应的单元格。具体如下:

在一个工作簿中有两个工作表Sheet1和Sheet2,要求在工作表Sheet1中列A的某单元格中输入一个值后,在工作表Sheet2中从列B开始的相应单元格会基于这个值高亮显示相应的单元格。

例如,在工作表Sheet1的单元格A2中输入值2后,工作表Sheet2中从单元格B2开始的两列单元格将高亮显示,即单元格B2和C2高亮显示;在工作表Sheet1的单元格A3中输入值3,工作表Sheet2中从B3开始的三列单元格将高亮显示,即单元格B3、C3和D3加亮显示,等等。如下图1和图2所示。

图1:在工作表Sheet1中输入数值

图2:在工作表Sheet2中的结果

A:可以使用工作表模块中的事件来实现。

在工作表Sheet1的代码模块中输入如下代码:

代码语言:javascript复制
Private Sub Worksheet_Change(ByVal Target As Range)
   Const WS_RANGE As String = "A:A"
   On Error GoTo ws_exit
   Application.EnableEvents = False
   If Not Intersect(Target, Me.Range(WS_RANGE))Is Nothing Then
       With Target
         If IsNumeric(.Value) Then
          Worksheets("Sheet2").Cells(.Row, "B").Resize(,.Value).Interior.ColorIndex = 38
         End If
       End With
    End If
ws_exit:
    Application.EnableEvents = True
End Sub

试试看!

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

0 人点赞