Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> [A1].Column Then Exit Sub
If Target.Count > 1 Then Exit Sub
If Target = "" Then Target.Offset(0, 5).Resize(1, 3) = "": Exit Sub
Set xrng = Sheets("说明").Range("A:A").Find(Target)
If Not xrng Is Nothing Then
Target.Offset(0, 5).Resize(1, 2) = xrng.Offset(0, 1).Resize(1, 2).Value
End If
End Sub
语句说明
If Target.Column <> [A1].Column Then Exit Sub
检测目标单元格所在的列,这里为A列,可根据需要进行修改
If Target = "" Then Target.Offset(0, 5).Resize(1, 3) = "": Exit Sub
offset指的是偏移的单元格数,这里是实现如果目标单元格为空,清除单元格右边第5个单元个之后的3个单元格的内容,需要根据需求修改的参数是5、3
Set xrng = Sheets("说明").Range("A:A").Find(Target)
这个是要定位到参照的sheet,这里是参照表名为“说明”中的第A列。即定位目标单元格与“说明”中的A列某个字符串。需要修改的参数为表名和定位的列
Target.Offset(0, 5).Resize(1, 2) = xrng.Offset(0, 1).Resize(1, 2).Value
这个是最主要实现自动填充功能的语句。这里是指将目标单元格右边第5个单元格之后的2个单元格,自动填充为表明为“说明”的后面两个的值