Danke will aber ned ganz funktionieren. Habe dir jetzt mal alle Dokumente angehangen und die Sachen und Spaltennamen gelöscht, die irrelevant sind und Testdaten hinzugefügt.
Die Original-Datei ist die Schwebeliste. Dort sollen die Nominale und die ISN mit denen von der Auslieferungsliste verglichen werden und dann die "AA_DEP_NR" (Spalte CN) in ein anders Dokument ausgespuckt werden. Da in der Ausliefungsliste aber nur die ID steht muss die richtige ISN noch aus der ID-Liste mit SVERWEIS geholt werden.
06.04.2022, 18:22 (Dieser Beitrag wurde zuletzt bearbeitet: 06.04.2022, 19:02 von AlterDresdner.)
Hallo, dann kann es nicht funktionieren, wird aber wohl werden. Der Satz Jetzt wäre es noch Klasse, wenn die Matches in des neue Dokument kopiert werden bedeutet? Neben"AA_DEP_NR" (Spalte CN) auch Nominale und die ISN ausgeben?
Noch die Frage: sind die Dateien alle offen oder liegen sie im gleichen Verzeichnis wie die "Originaldatei" Schwebeliste.xlsx?
Hallo, dann schauen wir mal (d.h ihr). Die Dateien sind entweder offen oder können geöffnet werden, sie müssen aber IDs.xlsx und Daten_Auswahl.xlsx heißen. Die Makros finden sich in Tabelle1 von Schwebeliste.xlsm.
07.04.2022, 13:34 (Dieser Beitrag wurde zuletzt bearbeitet: 07.04.2022, 13:39 von AlterDresdner.)
Hallo, damit kann ich nichts anfangen. Bei mir mit den Dateien ging es. Wird ein Meldungsfeld angezeigt, auf dem es die Schaltfläche Debuggen gibt? Wenn ja, darauf klicken und einen Screenshot des Bildschirms danach entweder hier posrten oder an schatte.jm(at)web.de schicken. Sonst eine Telefonnr an die Mailadresse schicken, dann müssen wir die Möglichkeiten ausloten. Hallo, bei mir geht es auch nicht (wenn die Dateien nicht offen sind) . Ersetze in der Function Dateiobjekt die beiden Zeilen OM: FName = Application.GetOpenFilename("Exceldateien (*.xlsx), *.xlsx", , "Datei " & Datei & " öffnen") If VarType(FName) = vbBoolean Then End dann sollte es gehen.
Hallo, sicherheitshalber: Um den Fehler zu beheben ist in der Function Dateiobjekt(Objekt, Datei As String, Optional Pfad) die Zeile If FName = False Then End nach der Zeile OM: FName = Application.GetOpenFilename("Exceldateien (*.xlsx), *.xlsx", , "Datei " & Datei & " öffnen") zu ersetzen durch If VarType(FName) = vbBoolean Then End
Super danke. Leider findet er immer noch keine Matches. Meinst du es kann an einer unterschiedlichen Formatierung der Spalten und damit auch der Zahlenwerte liegen? Falls ja, wie bekomme ich die Spalten in das gleiche Format?
Hi, vielleicht kannst du mir mal einen Auszug eines nicht gefundenen Matches (nur die interessanten Spalten) der beiden Dateien schicken? So ins Blaue geraten: keine Ahnung.
Hallo, du kannst es auch mit dem Ersatzcode versuchn, vielleicht klappt es. Wenn nicht, dann siehe vorheriger Post.
For zeile = 2 To Q1.Cells(Rows.Count, SID1).End(xlUp).Row Set Idfound = Q3.Columns(2).Find(what:=Q1.Cells(zeile, SID1).Value, lookat:=xlWhole, LookIn:=xlValues) If Idfound Is Nothing Then MsgBox "Die ID " & Q1.Cells(zeile, SID1) & " ist in der Datei IDs.xlsx nicht gefunden worden.", vbCritical Else Set Idfound = Idfound.Offset(0, -1) Set found = Q2.Columns(SID2).Find(what:=Idfound.Value, lookat:=xlWhole, LookIn:=xlValues) If Not found Is Nothing Then firstaddr = found.Address Do If Q1.Cells(zeile, SStk1).Value = Q2.Cells(found.Row, SStk2).Value Then 'Match found