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
试试看!
欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。