Verstehe, Du hast eine Nummer und kannst den Datensatz in Datei B eindeutig identifizieren.
Kann es aber nicht sein, dass es zu einem Auftrag/einer Bestellung/einem Lieferschein mehrere Positionen gibt?
Dennoch:
Diese Anweisung, sollte Sie zu einem Fund führen, liefert Dir ein Range-Objekt (bzw eine Referenz) aus Datei B zurück:
1 | Set finden = Range( "A2:D10" ).Find(what:=Bestellnummer)
|
Wenn Du also in Spalte A bspw. die Bestellnummer findest, kannst Du mit .Offset() auf die anderen Spalten (in dem Fall B bis D) zugreifen.
Beispiel: »Bestellnummer wird in Zeile 8 gefunden«
1 2 3 4 5 | Wert_aus_Spalte_B = finden.Offset(,1).Value
Wert_aus_Spalte_C = finden.Offset(,2).Value
Wert_aus_Spalte_D = finden.Offset(,3).Value
|
Ob gefunden wurde, musst Du vorher noch prüfen, sonst läuft die Wertzuweisung (Beispiel) in einen Laufzeitfehler.
1 2 3 4 5 | If Not finden Is Nothing Then
End If
|
Wenn Du damit klarkommst, dann sag bescheid, sonst versuche Beispielfiles zur Verfügung zu stellen ;)
Hinweis:
In welcher Spalte Du suchst is egal. .Offset() kann auch negative Werte annehmen. Du kannst also sowohl "von links als auch von rechts" die Werte "holen".
|