如何通过匹配来自另一个文本框的搜索结果在用户窗体的文本框中显示搜索结果?

How to display a search result in a UserForm's TextBox by matching the search results from another TextBox?

我正在尝试查找带有 2 个文本框的此用户窗体的代码:

我有一个单独的 sheet 数据:

我需要使用 REF ID(第 1 列)进行搜索,它应该只显示下面文本框 2 中的第 4 列(注释),WordWrap 和 MultiLine 属性设置为 True。有人可以帮我解决这个问题吗?

我试过这个:

Private Sub CommandButton1_Click()
Dim Search As String
Dim FoundCell As Range, SearchRange As Range
Dim ws As Worksheet
Set ws = Worksheets("Database")
' search sheet change name as required
Set SearchRange = ws.Range("A1", ws.Range("J65536").End(xlUp))

Search = Me.jobid.Text

If Len(Search) = 0 Then Exit Sub

Set FoundCell = SearchRange.Find(What:=Search, LookIn:=xlValues, LookAt:=xlWhole)

If Not FoundCell Is Nothing Then
    Me.resultid.Value = FoundCell.Offset(0, 4).Value
Else
    MsgBox Search & Chr(10) & "Record Not Found", 48, "Not Found"
End If

End Sub

我收到错误

Me.resultid.Value = FoundCell.Offset(0, 4).Value

我做错了什么?

主要可能是你的offset。将它从 4 更改为 3:

Me.resultid.Value = FoundCell.Offset(0, 3).Value

另一个不正确的地方可能是你的SearchRange。现在它从 A 列跨越到 J 列。据我从问题中了解到,您只想查看 A 列(REF ID)。所以将 SearchRange 更改为:

Set SearchRange = ws.Range("A1", ws.Range("A65536").End(xlUp))

进行这些更改后,我能够搜索单元格 A2 中的“H001”并将单元格 D2 中的值写入另一个文本框: