基于单元格中的值加亮相应的单元格
用户的需求多种多样,问题也“千奇百怪”。看看下面的问题:
在工作簿中有两个工作表Sheet1和Sheet2,要求在工作表Sheet1中的某单元格中输入一个值后,工作表Sheet2中的相应单元格会基于这个值加亮相应的单元格。例如,在工作表Sheet1的单元格A2中输入值2,则在工作表Sheet2中从B2开始的两列单元格将加亮显示,即B2和C3加亮显示;在工作表Sheet1的单元格A3中输入值3,则在工作表Sheet2中从B3开始的三列单元格将加亮显示,即B3、C3和D3加亮显示,等等。如下图所示。

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

图2:在工作表Sheet2中的结果
在工作表Sheet1的代码模块中输入如下代码:
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
