Excel VBA实现一个单元格内容确定后,后面的单元格自动填充


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个单元格,自动填充为表明为“说明”的后面两个的值

你可能感兴趣的:(Excel,学习笔记)