Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1552to1556
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
Wert aus anderer Arbeitsmappe suchen
28.04.2017 19:30:31
Thomas
Hallo!
Bei diesem Problem bin ich leider überfordert.
Ich benötige einen Makro der Folgendes bewirkt.
In Laufwerk "D" befinden sich mehrere Arbeitsmappen gespeichert, sagen wir A, B, C usw.
In der aktuellen Arbeitsmappe "aktuell" befindet sich in Spalte A die Kundennummer, in Spalte B ein Betrag.
Der Makro soll nun folgendes bewirken. Es sollen nun im Laufwerk D die ersten beiden Arbeitsmappen durchsucht werden und Spalte A und B miteinander verglichen werden mit denen der aktuellen Arbeitsmappe.
Sind die Einträge in Spalte A und B identisch mit den Einträgen in der "aktuellen" Arbeitsmappe, so soll z. B in einer MsGBox aufgelistet werden in welcher Arbeitsmappe und in welcher Zeile der doppelte Eintrag in A oder B vorhanden ist.
Es soll also nach doppelten Einträgen gesucht werden.
Es wäre schön, wenn mir wer helfen könnte.
Ich danke schon vorab für Eure Hilfe!

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
es fehlen Infos
29.04.2017 08:03:12
Oberschlumpf
Hi Thomas
1. zeig uns bitte per Upload eine Bsp-Datei von der "aktuell"-Datei
Wichtig ist, dass die Bsp-Datei vom Aufbau genau so aussieht wie die "aktuell"-Datei.
Und trag natürlich einige Bsp-Datenzeilen ein.
2. Du möchtest, dass die ersten beiden Arbeitsmappen durchsucht werden.
Dann musst du uns verraten, wie diese beiden ersten Dateien heißen; Excel weiß das nicht so ohne Weiteres.
Wenn sich die Dateinamen ändern können, dann gäbe es die Möglichkeit, dass du per Datei-Öffnen-Dialog 2mal aufgefordert wirst, die beiden Dateien auszuwählen, um die es dir geht.
Ist das ok?
3. Du möchtest, dass bei Fund von doppelten Einträgen nur eine MsgBox angezeigt wird.
Reicht dir das wirklich? Die MsgBox + die Infos verschwinden immer bei Klick auf OK.
Alternative:
- in Datei "aktuell" die gefundene Zelle(n) in A rot färben (oder auch jede andere Farbe)
- in Datei "aktuell" in der Zeile, in der gefunden wurde, in der nächsten - bis jetzt nicht benutzten Spalte - die Zeilennummer + Arbeitsmappe eintragen, in der gefunden wurde
Vor dem nächsten Durchlauf könntest du in Spalte A die Farben + die Einträge in der Hilfsspalte löschen.
Oder das könnte auch im Code erledigt werden.
Ciao erst mal
Thorsten
Anzeige
AW: es fehlen Infos
29.04.2017 10:25:55
Thomas
Hallo Thorsten!
Vielen Dank für deine Hilfe. Glaube mir, dass mir hier wirklich die nötigen Kenntnisse fehlen.
Aber ich lerne durch dich dazu!
Gerne findest du im Anhang eine Beispieltabelle.
Die Arbeitsmappen werden im Laufwerk "D" nach Datum gespeichert.
Vielleicht wäre es noch gut über eine Inputbox das Datum einzugeben, nach in dem gesucht werden soll,
z. B . "suche von Datum ... bis Datum ....
Eine Ausgabe auf eine MsgBox ist eigentlich ausreichend.
Ziel des Makros soll es sein. Die Eintrag der Arbeitsmappe "aktuell" mit denen in Laufwerk D zu vergleichen und doppelt gefundene Einträge (Einträge in Spalte A und B sind gleich) auf einer MsgBox
zu Listen.
https://www.herber.de/bbs/user/113193.xlsx
Vielen Dank
Thomas
Anzeige
AW: es fehlen Infos
29.04.2017 11:15:09
Oberschlumpf
Hi Thomas
Die Arbeitsmappen werden im Laufwerk "D" nach Datum gespeichert:
Das bedeutet, die Dateinamen heißen...
28.04.2017.xlsx
29.04.2017.xlsx
02.05.2017.xlsx
usw?
Oder wie?
Und der Speicherort ist direkt D:\ und nicht in einem Verzeichnis von D:\
Ciao
Thorsten
AW: es fehlen Infos
29.04.2017 11:57:55
Thomas
Hallo Thorsten!
Die Arbeitsmappen liegen im Laufwerk D:\Buchungen. Die Dateinamen heißen so, wie du sie beschrieben hast.
Danke nochmal!!
so, da bin ich wieder
30.04.2017 09:12:04
Oberschlumpf
Hi Thomas,
hier, teste mal:
https://www.herber.de/bbs/user/113205.zip
Das heißt,
...speicher die ZIP-Datei zuerst in ein beliebiges Verzeichnis
(nach Klick auf den Link - nicht - "Öffnen mit" oder Ähnliches auswählen!; zuerst speichern!)
...dann entpack die ZIP-Datei und beachte die Textdatei "bitte lesen.txt"
Da ich davon ausgehe, dass deine Bsp-Datei vom Aufbau her - ganz genau - so aussieht, wie deine Originaldatei, habe ich in Zelle C1 den Text "hier klicken" eingetragen.
Wenn du nun die Zelle C1 anklickst, öffnet sich ein Userform, welches die Auswahl von Start- und End-Datum erwartet.
Nach Klick auf OK werden die Dateien gesucht, dessen Dateinamen sich in dem Zeitraum für Start- und End-Datum befinden.
Bei Verwendung von nur erst mal meinen Bsp-Dateien sollte nach Auswahl von Start: 26.04.2017 + Ende: 01.05.2017, wie gewünscht, diese MsgBox erscheinen:
Userbild
Ach ja, wenn deine Bsp-Datei vom Design her (du verewndest mehr Spalten, die erste Datenzeile ist nicht Zeile 2, oder,oder oder) doch anders aussieht als in der Originaldatei, dann funktioniert mein Code nicht mit deinen Originaldateien; dann müsstest du den Code anpassen)
Hilfts denn?
Ciao
Thorsten
Anzeige
AW: so, da bin ich wieder
01.05.2017 22:45:18
Thomas
Hallo Thorsten!
Schaut gut aus!
Morgen möchte ich es testen.
Aber jetzt schon vielen, vielen Dank für Deine Hilfe!!!!!
AW: so, da bin ich wieder
02.05.2017 22:38:13
Thomas
Hallo Thorsten!
Die Namen der Arbeitsmappen, mit denen verglichen werden soll beginnen mit "Tansfer - Datum Uhrzeit". Beispiel: Transfer - 02052017 1250.xlsx
Pro Tag werden 3 Mappen zu unterschiedlichen Uhrzeiten gespeichert. Das heißt, es existieren 3 Arbeitsmappen mit gleichem Datum, unterschieden durch die Uhrzeit.
Man müsste also das Datum auslesen. Geht das mit Mid? Aber wenn er die erste gefunden hat mit z. B. Datum 02052017, durchsucht er dann die anderen beiden auch, oder beendet er die Suche?
Möglich ist es auch, die ersten 9 Arbeitsmappen zu durchsuchen.
Wobei mir die Lösung mit der Inputbox besser gefällt.
Gibt es hierzu eine Lösung?
Anzeige
AW: so, da bin ich wieder
03.05.2017 06:34:47
Oberschlumpf
Hi Thomas,
auf meine Frage, ob deine Vergleichsdateien z Bsp 28.04.2017.xlsx heißen, war deine erste Antwort:
Die Dateinamen heißen so, wie du sie beschrieben hast.
Und - jetzt - schreibst du:
Die Namen der Arbeitsmappen, mit denen verglichen werden soll beginnen mit "Tansfer - Datum Uhrzeit". Beispiel: Transfer - 02052017 1250.xlsx
Deine erste Antwort war also - FALSCH!!!! :-/
Is klar, dass mein Code nicht mir den Originaldateien funktioniert, da sie ja ganz anders heißen, als du zuerst behauptet hast!
Ich hab nun keine Lust mehr.
Erstell einen neuen Thread, und...
...benenne die Dinge sofort! und immer! beim richtigen Namen!
So, wie bis jetzt, macht es keinen Spaß.
Ciao
Thorsten
Anzeige
AW: so, da bin ich wieder
03.05.2017 10:50:50
Thomas
Hallo Thorsten!
Ich verstehe das du verärgert bist. Leider hatte ich es falsch in Erinnerung.
Deine Arbeit war jedoch nicht umsonst. 99 % davon funktioniert ja. Man müsste halt nur
von den Arbeitsmappen das Datum auslesen, oder einfach nur die ersten 9 Arbeitsmappen aus
Laufwerk "D" vergleichen. Es muss nicht unbedingt über eine Inputbox abgefragt werden.
Du hast trotzdem "Spitzenarbeit" geleistet.
Dafür danke ich dir sehr.
Thomas
AW: so, da bin ich wieder
03.05.2017 23:22:33
Thomas
Hallo Thorsten!
Kannst du mich bitte hier noch unterstützen.
Das Datum der Dateinamen "Transfer - 02052017" steht immer an, wenn ich es richtig ausgezählt habe, Stelle 12 - 19. Die Uhrzeit dahinter ist irrelevant, da sie immer anders ist.
Wenn ich es richtig verstanden habe, so findet hier die Abfrage statt.
For ldtDays = CDate(lstrStart) To CDate(lstrEnd)
If Dir(lstrPath & ldtDays & ".xlsx") "" Then
Kann hier nicht eingebaut werden, das vom Dateinamen nur die 12. bis 19. Stelle gelesen wird?
So hätten wir wieder die Datumsabfrage. Gibt es nicht eine Funktion, die "Mid" lautet?
z. B. CDate(Mid(lstrStart,12,19))?
Wäre schön, wenn du mir weiter hilfst!!
Thomas
Anzeige
erstell einen neuen Thread
04.05.2017 06:28:10
Oberschlumpf
Hi
Die Funktion InStr() könnte helfen.
Ciao
AW: erstell einen neuen Thread
04.05.2017 10:50:28
Thomas
Hallo Thorsten!
Danke für den Tip.
Ich probiere es heute in der Arbeit.
Wenn es nicht funktioniert, so erstelle ich danach einen neuen Thread!
Vielen Dank!!!
AW: es fehlen Infos
29.04.2017 11:06:50
Thomas
Hallo Thorsten!
Vielen Dank für deine Hilfe. Glaube mir, dass mir hier wirklich die nötigen Kenntnisse fehlen.
Aber ich lerne durch dich dazu!
Gerne findest du im Anhang eine Beispieltabelle.
Die Arbeitsmappen werden im Laufwerk "D" nach Datum gespeichert.
Vielleicht wäre es noch gut über eine Inputbox das Datum einzugeben, nach in dem gesucht werden soll,
z. B . "suche von Datum ... bis Datum ....
Eine Ausgabe auf eine MsgBox ist eigentlich ausreichend.
Ziel des Makros soll es sein. Die Eintrag der Arbeitsmappe "aktuell" mit denen in Laufwerk D zu vergleichen und doppelt gefundene Einträge (Einträge in Spalte A und B sind gleich) auf einer MsgBox
zu Listen.
https://www.herber.de/bbs/user/113193.xlsx
Vielen Dank
Thomas
Anzeige

310 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige