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:
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«
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.
If Not finden Is Nothing Then
'Wertzuweisung
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".
|