使用用户表单连续搜索和更新值

Search and Update Values in a row with a userform

我已经创建了一个用于数据输入的用户表单。我现在希望扩展它以查看已经输入的数据,其中一些数据可能丢失,并更新该行中的值。

搜索条件是一个参考编号,它位于 A 列的 table 中。然而,代码返回未找到 ID 的消息。

Dim searchRange As Range
Dim foundCell As Range
Dim mysearch As String

mysearch = Me.Reference.Value

Set searchRange = ThisWorkbook.Sheets("Master Data").Range("A2").End(xlDown)
Set foundCell = searchRange.Find(what:=mysearch, after:=searchRange.Cells(searchRange.Cells.Count))

If Not foundCell Is Nothing Then
    If foundCell.Offset(0, 1).Value = Me.Reference.Value Then
       foundCell.Offset(0, 8).Value = Me.Merchant.Value
    Else
        MsgBox "Name does not exist."
    End If
Else
    MsgBox "ID does not exist."
End If

试试这个,您定义的 searchRange 只是一个单元格,我认为这不是您想要的。我还指定了一些 Find 参数,以防它们不是您假设的那样。

Sub x()

Dim searchRange As Range
Dim foundCell As Range
Dim mysearch As String

mysearch = Me.Reference.Value

With ThisWorkbook.Sheets("Master Data")
    Set searchRange = .Range("A2", .Range("A" & .Rows.Count).End(xlUp))
End With        

Set foundCell = searchRange.Find(what:=mysearch, Lookat:=xlwhole, MatchCase:=False, SearchFormat:=False)
If Not foundCell Is Nothing Then
     If foundCell.Offset(0, 1).Value = Me.Reference.Value Then
         foundCell.Offset(0, 8).Value = Me.Merchant.Value
     Else
         MsgBox "Name does not exist."
     End If
Else
     MsgBox "ID does not exist."
End If

End Sub