我有一个非常简单的用户窗体,可以让用户输入名称和数字,然后将其插入特定的单元格中,并在它们之间添加一些特定的文本。每个名称都有一个关联的编号。例如Adams = 286。
在您单击或在名字文本框上按Enter之后,以下代码将应用该数字。
Private Sub ufSUBnum_Enter()
Dim dataNum As Variant
dataNum = Application.Index(Range("Data!$U$3:$U$679"), _
Application.Match(ufSUBname.Value, Range("Data!T3:T679"), 0), 1)
If IsError(dataNum) Then
ufSUBnum.Value = ""
Else
ufSUBnum.Value = dataNum
End If
End Sub
我想做的也是从数字索引匹配名称。有时我们不知道名称,或者只是更快地输入数字,但是很多时候我们都不知道该数字。
我尝试在范围内翻转(包括更改userform文本框标签),因此当我输入3位数字时,它将应用相关的名称。
它只是返回错误0。
有什么想法吗?
答案 0 :(得分:0)
Private Sub ufSUBnum_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim dataNum As Variant
If ufSUBnum.Value <> "" Then
Set FindName = Worksheets("Data1").Range("$T$3:$T679").Find(ufSUBnum.Value, LookIn:=xlValues)
If FindName Is Nothing Then
ufSUBnum.Value = ""
Else
ufSUBnum.Value = FindName.Offset(0, 1).Value
End If
End If
End Sub