所以我编写了一个函数,它使用文本框输入在另一张表中搜索相应的值。问题是如果找不到匹配项,它会进入无限循环。我可以限制循环使其不会崩溃吗?如果有另一种解决方案而不是限制循环,我会全力以赴。这是我正在使用的:
Function Most_Recent_Deployment(Label1 As String, Label2 As String, Label3 As String) As Long
Dim all_rows As Range
Dim row As Range
Dim LastCell As Range
Dim LastCellRowNumber As Long
Set LastCell = Sheet7.Cells(Sheet7.Rows.Count, "A").End(xlDown).End(xlUp)
LastCellRowNumber = LastCell.row + 1
Set row = Sheet7.Range("A:A").Find(Label1, LookIn:=xlValues, After:=Cells(LastCellRowNumber, "A"), SearchDirection:=xlPrevious)
Do While row.row > 1
If (Sheet7.Cells(row.row, 2).Text = Label2) And (Sheet7.Cells(row.row, 3).Text = Label3) Then
Most_Recent_Deployment = row.row
Exit Function
End If
LastCellRowNumber = row.row
Set row = Sheet7.Range("A:A").Find(Label1, LookIn:=xlValues, After:=Cells(LastCellRowNumber, "A"), SearchDirection:=xlPrevious)
Loop
Most_Recent_Deployment = 0
End Function