繁体   English   中英

在用户输入上从一张纸到另一张纸获取数据

[英]Getting data from one sheet to another on the user input

我有一个Excel工作簿,在该工作簿中有许多工作表。
一个被称为main data ,另一个被称为表data ,其中包含所有信息。
data表在同一单元格中具有人的名字和分配的号码。

例如:A2会: 123 Chris Smith

我要实现的目的是让用户开始在主表中的任何位置键入数字,以扫描数据表并完成其余数据。
因此,用户将键入123,然后宏将填写其余的123克里斯·史密斯。

如前所述,您可以使用Worksheet_Change()事件。 为了向您展示其工作原理,请将此代码放在编辑器的main表中。 现在,键入与您的数据列表匹配的任何数字,然后单击该单元格之外的位置,它现在将完成。

Private Sub Worksheet_Change(ByVal Target As Range)
Dim sht As Worksheet
Dim rng As Range
Dim val As Variant: val = Target.Value

Set sht = Worksheets("Data")

If Not IsError(val) And Not IsArray(val) Then
    If val <> "" Then
        Set rng = sht.Range("A:A").Find(val & "*", LookAt:=xlWhole)
        If Not rng Is Nothing Then
            Application.EnableEvents = False
            Target.Value = rng.Value
            Application.EnableEvents = True
        End If
    End If
End If
End Sub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM