Ehrlich gesagt verstehe ich das Problem noch nicht ganz.
Option Explicit
Sub Test()
Dim rngLotId As Excel.Range
Dim rngConfirmId As Excel.Range
'Dim blnFlag As Boolean
Dim strWhat As String
strWhat = Trim$(InputBox("Bitte geben Sie eine Losnummer ein:"))
If Len(strWhat) = 0 _
Then Exit Sub
With Worksheets("Vorgabedatei").Range("A1:A100")
'erstes Vorkommen von Losnummer suchen (liefert Referenz auf Zelle)
Set rngLotId = .Find( _
What:=strWhat, _
LookIn:=xlValues, _
LookAt:=xlWhole, _
SearchOrder:=xlByColumns, _
MatchCase:=False)
'blnFlag = False
If Not rngLotId Is Nothing Then
Dim strFirstAddr As String
strFirstAddr = rngLotId.Address
'<ggf. hier InputBox für Rückmeldenummer>
Do
'Rückmeldenummer (als Zellen-Referenz) in der selben Zeile der Losnummer
Set rngConfirmId = rngLotId.Worksheet.Cells(rngLotId.Row, "C")
'Ausgabe von Losnummer und Rückmeldenummer
Debug.Print "LotId: '"; rngLotId.Value; "', ConfirmId: '"; rngConfirmId.Value; "' (Row: "; CStr(rngLotId.Row); ")"
'If <Rückmeldenummer überprüfen> Then
' blnFlag = True 'Übereinstimmung gefunden
' Exit Do
'End If
'weitere Vorkommen von LotId suchen
Set rngLotId = .FindNext(After:=rngLotId)
Loop While rngLotId.Address <> strFirstAddr
End If
'If blnFlag Then
' <Aktion bei gefundener Übereinstimmung>
'End If
End With
End Sub
Damit suchst du nach der Losnummer in A. Wird eine Losnummer gefunden, werden alle Vorkommen der Losnummern gesucht. Dabei wird jedesmal der Wert in der gleichen Zeile, Spalte C referenziert (Rückmeldenummer) und kann mit einer Eingabe verglichen werden (im Code nur angedeutet). Stimmt die Rückmeldenummer, wird ein Flag gesetzt und die Schleife verlassen (über die Referenzen hat man die entsprechenden Zellen noch verfügbar ).
|