excel - 多个文本框的索引匹配用户表单
问题描述
我有一个非常简单的用户表单,让用户输入名称和数字,然后将它们插入某个单元格并在它们之间添加一些特定的文本。每个名称都有一个关联的编号。例如亚当斯 = 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
我想要做的也是索引匹配数字中的名称。有时我们不知道名称或只是更快地输入号码,但很多时候我们不知道号码。
我尝试翻转范围(包括更改用户表单文本框标签),因此当我输入 3 位数字时,它将应用关联的名称。
它只是返回错误 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
推荐阅读
- php - 会话变量在php中不断覆盖
- java - 我们可以将 jars 添加到 websphere 库吗
- node.js - 如何使用用 Node.js 编写的 AWS Lambda 触发器在 Dynamodb 中插入项目?
- html - CSS 帮助。打开扩展 div 而不将内容向下推
- python - torch.nn.CosineSimilarity --> IndexError: Dimension out of range (expected to be in range of [-1, 0], but got 1)
- r - 如何在不加载包的情况下使用`ggplot2`的功能?
- node.js - 使用 express、axios 和 fs.writeFileSync 导致 ERR_CONNECTION_REFUSED
- python - 在 Python 中执行类似 SQL 的连接并存储在嵌套字典中
- reactjs - 如何在样式化组件中使用伪类?
- reactjs - 我正在传递“项目”父/子,当我操作它时会更改父级中的默认值