Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1292to1296
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Vergleich-Funktion über externe Arbeitsmappen

Vergleich-Funktion über externe Arbeitsmappen
08.01.2013 12:42:04
Anito
Hallo zusammen,
ich habe ein Problem bzgl. meines Makro-Programms und wäre für eure Hilfe ungemein dankbar. Ich möchte gerne in die aktuelle Zelle (bspw. H12) einen Wert eintragen, welcher aus einer externen Datei gelesen wird. Dabei soll ein bestimmter Eintrag (B12) aus meiner aktuellen Zeile verglichen werden mit einer bestimmten Spalte aus der externen Datei. Wird ein übereinstimmender Eintrag gefunden, soll in meine aktuellen Zelle der Wert rechts von dem gefunden Eintrag aus der externen Datei eingetragen werden.
Bisher habe ich es über die INDIREKT Funktion, jedoch muss die externe Datei geöffnet sein, und deshalb kann ich es nicht über die INDIREKT Funktion mehr machen:
=INDIREKT(ADRESSE(VERGLEICH($B12; INDIREKT(VERKETTEN("'"&H$8&"'!B:B"));0);6;;;H$8))

In diesem Beispiel steht in H8 die Adresse der externen Datei, die Spalte B in der externen Datei soll dabei durchsucht werden und der Wert in der 6.Spalte aus der gefundenen Zeile soll dann schließlich eingetragen werden.
Wie gesagt möchte ich das nun über ein Makro lösen der ohne die INDIREKT Funktion diesen Vergleich durchführt und es dann in die aktive Zelle einträgt (und später dann nicht nur mit der aktiven Zelle diesen Vergleich durchführen, sondern der kompletten aktiven Spalte, aber das sollte ja dann möglich sein)
Ich hoffe ich habe mich nicht zu unklar ausgedrückt, ansonsten beschreibe ich es gerne noch genauer. Vielleicht kann man mein Anliegen auch unkomplizierter lösen, das wäre auch super.
Viele Grüße
Anito

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Vergleich-Funktion über externe Arbeitsmappen
08.01.2013 12:59:18
Rudi
Hallo
wo liegt die externe Datei? Im gleichen Ordner?
Schreib einfach eine 'richtige' Formel in die Zelle
Range("H12").Formula="=Vlookup(B12,'" &ActiveWorkbook.Path &"\[" &Range("H8") &"]Tabelle1'!B:F,5,0)"
Gruß
Rudi

AW: Vergleich-Funktion über externe Arbeitsmappen
08.01.2013 14:23:47
Anito
Hallo Rudi,
danke für die Antwort. Also die Datei liegt nicht im selben Ordner.
Ich werde es heute Abend so versuchen wie du es beschrieben hast.
Gruß
Anito

AW: Vergleich-Funktion über externe Arbeitsmappen
08.01.2013 16:33:51
Anito
Hallo Rudi,
ich habe dein Vorschlag ausprobiert, jedoch trägt er in die Zelle eine Null ein, anstatt den gewünschten Wert (145). Vielleicht habe ich die Formel falsch angepasst. Also jetzt in dem konkreten Beispiel, das ich angefügt habe, möchte ich in die aktive Celle, z.B. C12, den Wert der "Komponente1", also B12, aus der externen Datei eintragen. Das wäre wie in diesem Fall 145. Optimal wäre es noch, wenn man statt ActiveWorkbook.Path einen beliebigen Pfad angeben könnte und außerdem statt den Dateinamen über C8 auszulesen, einfach immer die 8. Zeile der aktuellen Spalte benutzt, also dass man auch wenn man eine Spalte weiter rückt und das Makro ausführt, nicht der Dateiname aus C8 gelesen wird sondern entsprechend D8, weil es die aktive Zelle wäre.
Die Links für die Dateien:
https://www.herber.de/bbs/user/83290.xlsx
https://www.herber.de/bbs/user/83291.xlsm
Die erste Datei, die in meinem Beispiel als Externe Datei dient, müsste man wieder umbenenen in "ExterneDatei1.xlsx, da es beim Upload einen anderen Namen bekommen hat.
Ich hoffe es wird mit dem Beispiel noch ein wenig verständlicher
@Matze: Dies ist das gewünschte angehängte Musterbeispiel.
Gruß
Anito

Anzeige
AW: Vergleich-Funktion über externe Arbeitsmappen
09.01.2013 23:37:17
Matze
Hallo Anito,
du musst auch die richtige Spalte zurückgeben änder die 4 in eine 3 dann sollte es dir verständlich werden. Der Bereich geht von B:D , also B=1 C=2 D=3 Spalte somit ergibt es folgende Formel
=SVERWEIS(B12;[ExterneDatei1.xlsx]Tabelle1!$B$5:$D$10;3;0)
Matze

AW: Vergleich-Funktion über externe Arbeitsmappen
10.01.2013 09:56:46
Anito
Hallo Matze,
danke, so klappt es nun. Ich möchte nun jedoch noch einen beliebigen Pfad angeben können statt dem aktiven, also z.B.
ActiveCell.Resize(13).Formula = "=Vlookup(B12,'C:\Testordner\[" & Cells(8, ActiveCell.Column) & "]Tabelle1!B:F,3,0)"

In dieser Form aber zeigt es mir aber einen Fehler an. Ist es dennoch irgendwie möglich? (Ich habe den Code ein bisschen verändert um es auch für die Zeilen darunter auszuführen)
Und dann hätte ich noch ein Frage: Ich möchte im Anschluss daran alle Zellen der aktiven Spalte löschen, in denen der Fehler "#NV" vorkommt, löschen, also nur den Ihnalt löschen, damit sie leer ist. Ich habe bereits im Forum gesucht und auch ein paar Antworten gefunden, jedoch wird bei mir eine Fehlermeldung angezeigt, vermutlich habe ich den Code falsch angepasst:
Dim i As Long
Application.ScreenUpdating = False
For i = Cells(Rows.Count, ActiveCell.Column).End(xlUp).Row To 1 Step -1
If Cells(i, ActiveCell.Column) = "#NV" Then Cells(i, ActiveCell.Column).ClearContents
Next i
Application.ScreenUpdating = True
Vielen Dank schonmal
Gruß
Anito

Anzeige
AW: Vergleich-Funktion über externe Arbeitsmappen
10.01.2013 10:07:16
Anito
Hallo nochmal,
sorry, das erste Problem habe ich doch gelöst :) Hatte einfach einen nicht korrekten Pfad angegeben und das übersehen.
Aber das zweite Problem mit den Zellen löschen besteht weiterhin
Gruß

AW: Vergleich-Funktion über externe Arbeitsmappen
10.01.2013 13:20:06
Matze
Hallo Anito,
wenn du hier weitere Fragen hast, mache bitte einen Haken an "offener beitrag, dann können das Alle lesen.Habe heute keine Zeit mehr für dein Problem aber eventuell ein Anderer, lasse den Beitrag nun sichtbar auf offen stehen.
Matze

AW: Vergleich-Funktion über externe Arbeitsmappen
11.01.2013 12:03:57
Anito
Ok, habe ich gemacht, danke für den Tipp
Gruß

AW: Vergleich-Funktion über externe Arbeitsmappen
12.01.2013 17:00:08
Matze
Hallo Anito,
hatte bislang nicht so viel Zeit, schade das hier keiner weiter gemacht hat und du solange warten musstest.
Das #NV kommt dadurch zustande, das durch den Sverweis nix als Ergebnis gefunden wurde.
Das kannst du mit der Funktion 2Wennfehler" unterbinden. Deine Formel sollte dann so aussehen:
=WENNFEHLER(SVERWEIS(B12;'C:\Users\Matze\Desktop\Neuer Ordner\[ExterneDatei1.xlsx]Tabelle1'!B:F;3;0); "")
ich hoffe Wennfehler gabs schon in 2007 da ich hier nur 2010 habe
Matze

Anzeige
AW: Vergleich-Funktion über externe Arbeitsmappen
12.01.2013 17:02:44
Hajo_Zi
ja die gibt es nur die Kalenderwoche() wurde erst in 2010 geändert.
Gruß Hajo

AW: Vergleich-Funktion über externe Arbeitsmappen
14.01.2013 12:18:50
Anito
Hallo Matze,
danke für deine Hilfe. Ich möchte nun diese WENNFEHLER Funktion gerne in mein Makro einbauen, damit ich das nicht manuell eintragen muss. Bisher schaut mein Makro ja so aus:
ActiveCell.Resize(13).Formula = "=Vlookup(B12,'C:\Testordner\[" & Cells(8, ActiveCell.Column) & "]Tabelle1!B:F,3,0)"
Wie füge ich nun das WENNFEHLER korrekt in den obigen Code ein? Weil ich habe ein wenig Schwierigkeiten mit den Setzen der Anführungzeichen.
Gruß

Anzeige
"=IFERROR(VLOOKUP(B12............
14.01.2013 15:34:39
Matze
"=IFERROR(VLOOKUP(B12............

besser komplett darstellen
14.01.2013 15:53:24
Matze
da hinten ja noch was drann kommt :)
"=IFERROR(Vlookup(B12,'C:\Testordner\[" & Cells(8, ActiveCell.Column) & "]Tabelle1!B:F,3,0),"""")"
So müsste es gehn , Matze

AW: besser komplett darstellen
14.01.2013 16:14:25
Anito
Prima, jetzt wird es mir ersichtlich :) So funktionierts wunderbar.
Vielen Dank
Gruß
Anito

Ich bitte um Musterdateien
08.01.2013 13:09:36
Matze
Hallo Anito,
für so eine Aufgabe wären 2 Musterdateien Quelle,Ziel sehr hilfreich, so müssen wir das nicht
nachbauen. Unklar für mich noch , aus dem Indirektbeispiel sehe ich unterschiedliche Zeilen Angaben 12/8 , ich sehe auch keine 2te Datei die angesprochen wird. Was auch ncoh wichtig ist, ob Beide Dateien im selben Verzeichnis liegen. Ein VBA Profi bekommt das sehr schnell hin, ich brauche dafür eine Weile.
Ich lasse offen für lösungsvorschläge.
Matze

Anzeige
Ich bitte um Musterdateien
08.01.2013 13:09:40
Matze
Hallo Anito,
für so eine Aufgabe wären 2 Musterdateien Quelle,Ziel sehr hilfreich, so müssen wir das nicht
nachbauen. Unklar für mich noch , aus dem Indirektbeispiel sehe ich unterschiedliche Zeilen Angaben 12/8 , ich sehe auch keine 2te Datei die angesprochen wird. Was auch ncoh wichtig ist, ob Beide Dateien im selben Verzeichnis liegen. Ein VBA Profi bekommt das sehr schnell hin, ich brauche dafür eine Weile.
Ich lasse offen für lösungsvorschläge.
Matze

AW: Ich bitte um Musterdateien
08.01.2013 14:18:11
Anito
Hallo Matze,
die 2 Musterdateien kann ich heute Abend schicken, da ich gerade über mein Handy schreibe.
Also die Zeile 12 ist meine aktuelle Zeile. In B12 steht der Eintrag, welcher mit der Spalte B aus der externen Datei verglichen werden soll. Deshalb das B:B. In Zeile 8 steht immer der Dateiname der externen Datei. Da meine aktuelle Spalte die Spalte H ist, wird folglich auf H8 zugegriffen also der externen Datei.
Die beiden Dateien liegen nicht im selben Verzeichnis. Deshalb müsste man das irgendwie über Hyperlinks lösen, nur wüsste ich nicht, wie genau das mit einem Makro gehen würde.
Vielen Dank schonmal für die Hilfe
Gruß
Anito

Anzeige
AW: Vergleich-Funktion über externe Arbeitsmappen
08.01.2013 13:36:19
Hajo_Zi
Trage die korrekte Formel ohne Indirekt per VBA ein.

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige