从用户input中的一张表格获取数据

我有一个Excel工作簿,并在该工作簿中有一些表。
一个被称为main ,另一个被保存所有的信息。
data表中包含人员姓名和在同一单元格中分配的号码。

例如:A2将有: 123 Chris Smith

我试图达到的目的是让用户开始在主表单中的任意位置input数字,以扫描数据表并完成其余的数据。
所以用户可以input123,然后macros将填写剩下的123 Chris Smith。

如前所述,您可以使用Worksheet_Change()事件。 为了向你展示它是如何工作的,把这些代码放在编辑器的main表中。 现在input与您的数据列表匹配的任何数字,然后单击该单元格,现在将完成。

 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