MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Office > Microsoft Excel
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 03.01.2019, 15:09   #1
hugo64874
MOF User
MOF User
Standard VBA - Tabellen vergleichen und auswerten

Hallo zusammen und ein gesundes 2019 ,

folgendes Problem:
Es gibt 2 Tabellenblätter mit teilweise unterschiedlichen Werten, sowie auch einer unterschiedlichen Anzahl an Zeilen. Das Tabellenblatt1(Neu) hat jeweils die aktuellen Daten und das Tabellenblatt2(Alt) die Daten der Vorwoche. Soweit kein Problem. Nun sollen diese miteinander verglichen werden und bei Abweichungen soll die komplette Zeile dann in das Tabellenblatt3(Differenz) geschrieben werden. Dieses wird dann später gespeichert.
Mit dem bereits in der Datei vorhandenen Makro Test2 funktioniert der Vergleich leider nur, wenn sich die Zeilen nicht verschieben und das Makro vergleicht nur Zeile für Zeile. Allerdings kann es halt leider vorkommen, das sich die Zeilen verschieben. Damit funktioniert der Vergleich dann nicht mehr .
Es wäre schön, wenn jemand dafür eine Lösung hätte.
Ich hoffe, ich habe mich einigermassen verständlich ausgedrückt.
Besten Dank schon mal.
Gruß Hugo
Angehängte Dateien
Dateityp: zip Vergleich.zip (101,1 KB, 9x aufgerufen)
hugo64874 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 03.01.2019, 15:42   #2
Klaus-Dieter
MOF Koryphäe
MOF Koryphäe
Standard

Hallo,

also alle nicht doppelten sollen in Blatt 3?

__________________


Viele Grüße Klaus-Dieter

Klaus-Dieter's Excel und VBA Seite
Klaus-Dieter ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 03.01.2019, 15:51   #3
hugo64874
Threadstarter Threadstarter
MOF User
MOF User
Standard Antwort: vergleich

Hallo,

ja genau, alle Zeilen die nicht doppelt sind, soll in das Tabellenblatt3(Differenz) geschrieben werden.
Gruß Hugo
hugo64874 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 03.01.2019, 16:58   #4
WS-53
MOF Koryphäe
MOF Koryphäe
Standard

Hallo Hugo,

das scheint mir etwas unpräzise und wenig aussagekräftig. Wenn es eine Artikelzeile gab, die es jetzt nicht mehr gibt, oder umgekehrt, dann soll diese gezeigt werden. Dann siehst du diese Zeile, weißt aber nicht warum diese gezeigt wird. Weiterhin kannst du Artikelzeilen haben, die es gab und immer noch gibt, bei denen sich aber der Inhalt geändert hat. Diese Änderungen würdest du gar nicht sehen.

Vom Ablauf her, würde ich die Artikelnummern von alter und neuer Liste in ein neues Tabellenblatt kopieren, dort die Dubletten löschen und das Ergebnis in ein weiteres Tabellenblatt kopieren. Dort dann per SVERWEIS oder der Kombi INDEX(VERGLEICH in die Spalten B – bspw. H die alten Werte und in I – O, die neuen Werte übernehmen. Gab es nur inhaltliche Änderungen, dann kannst du dir diese mit einer bedingten Formatierung anzeigen lassen.

Diesen Prozess kannst du innerhalb von 2-3 Minuten manuell durchführen und wenn dir das Ergebnis zusagt, dann mit dem Makrorekorder aufnehmen. Wenn die Anzahl der Zeilen nicht riesig ist, dann kannst du im finalen Blatt die Formeln einmal weit genug nach unten ziehen, und musst an dem aufgezeichneten Makro dann eigentlich nichts mehr ändern müssen.

__________________

VG, WS-53


>>> Ein Spezialist kann nicht viel, dies aber gut. Die Steigerung ist, noch weniger noch besser zu können. Die Krönung ist, nichts zu können, aber darin perfekt zu sein! Es gibt aber auch Naturtalente, die überspringen die Ersten beiden Stufen. <<<

Übrigens, Feedback, egal welcher Art, ist immer hilfreich. Und erledigte Beiträge sollten auch den Status "erledigt" erhalten.
WS-53 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 03.01.2019, 17:16   #5
hugo64874
Threadstarter Threadstarter
MOF User
MOF User
Standard Antwort: Vergleich

Hallo WS-53,
hier mal der Ablauf, Montags gibt es einen Quelldatei mit den Daten für das Tabellenblatt Neu, diese Daten werden importiert, außerdem werden die gespeicherten alten Daten in das Tabellenblatt Alt kopiert. Nun sollen die extra dazugekommenen Zeilen in dem Tabellenblatt Differenz ausgegeben werden. Dieses wird später auch gespeichert und an einen andere Abteilung per Mail geschickt. Also es geht eigentlich nur darum, ob es neue Zeilen in dem Tabellenblatt Neu gegenüber dem Tabellenblatt Alt gab und diese sollen ausgegeben werden. Mit Formeln ist das Problem, das die Tabellen unterschiedlich groß sein können(max. 5000 Zeilen). Außerdem wenn, was auch vorkommen kann, es keine Änderungen gibt, bleibt natürlich das Differenzblatt leer und es gibt keine Mail sondern nur eine Infobox mit entsprechender Meldung auf dem Bildschirm. Also bei neuen Zeilen Mail und entsprechende Info, keinen neuen Zeilen dann nur Info. Mit Formeln komme ich da nicht weiter bzw. wüsste ich nicht wie?
Trotzdem danke.
Grüße Hugo
hugo64874 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 03.01.2019, 18:06   #6
WS-53
MOF Koryphäe
MOF Koryphäe
Standard

Hallo Hugo,

die Mappe zeigt dir, wie einfach es ist !!! Die Formeln musst du dann bei dir nur bisd 5000 ziehen.
Angehängte Dateien
Dateityp: xlsm mof - Tabellen vergleichen und auswerten.xlsm (33,0 KB, 4x aufgerufen)

__________________

VG, WS-53


>>> Ein Spezialist kann nicht viel, dies aber gut. Die Steigerung ist, noch weniger noch besser zu können. Die Krönung ist, nichts zu können, aber darin perfekt zu sein! Es gibt aber auch Naturtalente, die überspringen die Ersten beiden Stufen. <<<

Übrigens, Feedback, egal welcher Art, ist immer hilfreich. Und erledigte Beiträge sollten auch den Status "erledigt" erhalten.
WS-53 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 03.01.2019, 23:40   #7
WS-53
MOF Koryphäe
MOF Koryphäe
Standard

Hallo Hugo,

in der Ersten Mappe waren noch ein paar Fehler. Ich war halt gerade auf dem Sprung.

Hier nun die aktualisierte Mappe.
Angehängte Dateien
Dateityp: xlsm mof - Tabellen vergleichen und auswerten.xlsm (34,4 KB, 1x aufgerufen)

__________________

VG, WS-53


>>> Ein Spezialist kann nicht viel, dies aber gut. Die Steigerung ist, noch weniger noch besser zu können. Die Krönung ist, nichts zu können, aber darin perfekt zu sein! Es gibt aber auch Naturtalente, die überspringen die Ersten beiden Stufen. <<<

Übrigens, Feedback, egal welcher Art, ist immer hilfreich. Und erledigte Beiträge sollten auch den Status "erledigt" erhalten.
WS-53 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 04.01.2019, 07:27   #8
WS-53
MOF Koryphäe
MOF Koryphäe
Standard

Hallo Hugo,

ich hatte noch nicht berücksichtigt, dass in den Tabellenblättern "Vorwoche" und "aktuelle Woche" auch einfach Zeilen gelöscht werden können. In diesem Fall hatten die bisher verwendeten Formeln den Fehler #BEZUG erzeugt. Deshalb habe ich diese nun auf INDEX() umgestellt.

In welcher Sortierung die Zeilen in "Vorwoche" und "aktuelle Woche" vorliegen und ob diese Leerzeilen enthalten, spielt keine Rolle, denn in der ausgeblendeten Spalte "A" wird mittels VERGLEICH() ermittelt, ob und in welcher Zeile sich dr Artikekl der aktuellen Woche in der Vorwoche befindet. Angezeigt, ab Spalte "B" wird dann nur, wenn der Vergleich nichts gefunden hat.

Und beim anklicken des Tabellenblatts "Neue Zeilen", wird dann immer Per Makro zum Zeitpunkt "Activate" der Filter aktualisiert und somit nur gefüllte Zeilen angezeigt.
Angehängte Dateien
Dateityp: xlsm mof - Tabellen vergleichen und auswerten.xlsm (32,5 KB, 2x aufgerufen)

__________________

VG, WS-53


>>> Ein Spezialist kann nicht viel, dies aber gut. Die Steigerung ist, noch weniger noch besser zu können. Die Krönung ist, nichts zu können, aber darin perfekt zu sein! Es gibt aber auch Naturtalente, die überspringen die Ersten beiden Stufen. <<<

Übrigens, Feedback, egal welcher Art, ist immer hilfreich. Und erledigte Beiträge sollten auch den Status "erledigt" erhalten.
WS-53 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 04.01.2019, 12:38   #9
hugo64874
Threadstarter Threadstarter
MOF User
MOF User
Standard Vergleich Fehlermeldung

Hallo WS-53,
erstmal besten Dank für Deine Bemühungen . Leider kam ich erst jetzt zum Testen. Dabei gibt es aber folgende Probleme:
1. Wenn ich dann die Daten erfasst habe und auf die Tabelle "Neue Zeilen" klicke, kommt die Fehlermeldung: "Laufzeitfehler '9': Index außerhalb des gültigen Bereichs"
2. Es müssten eigentlich 35 Zeilen als Differenz ausgegeben werden, aber es werden nur 33 Zeilen ausgegeben
und 3. Wie komme ich dann weiter mit den entsprechenden Sprüngen, also wenn keinen Änderungen Meldung "nichts" und Ende, wenn Änderungen speichern Tabelle3 und Meldung "Mail verschicken" und Ende?? das ist mir hierbei nicht klar.

Trotzdem nochmals schon besten Dank für die bisherige Hilfe.

Grüße Hugo

Geändert von hugo64874 (04.01.2019 um 12:52 Uhr).
hugo64874 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 04.01.2019, 13:02   #10
WS-53
MOF Koryphäe
MOF Koryphäe
Standard

Hallo Hugo,

du hast jetzt irgend etwas getestet, was keiner sehen kann. Wenn du auf Tabelle3 meinen Formelvergleich und das automatische Filtern übernommen hast, dann musst du natürlich aus deinen Makros den bisherigen Verlgeich entfernen. Sonst kann da ja nur Mist rauskommen oder halt Laufzeitfehler entstehen.

Und zuerst einmal willst du ja eine Liste haben, die dir Artikel zeigt, die in der Liste der Vorwoche nicht enthalten waren.

Für diese Fragestellung habe ich dir mit meinem Beispiel gezeigt, wie einfach dies machbar ist.

Alles andere lässt sich dann natürlich auch automatisieren. Es soll sogar Leute geben, die sich so gut mit Excel auskennen, dass sie ihre Fähigkeiten, als Berater, für Geld verkaufen.

__________________

VG, WS-53


>>> Ein Spezialist kann nicht viel, dies aber gut. Die Steigerung ist, noch weniger noch besser zu können. Die Krönung ist, nichts zu können, aber darin perfekt zu sein! Es gibt aber auch Naturtalente, die überspringen die Ersten beiden Stufen. <<<

Übrigens, Feedback, egal welcher Art, ist immer hilfreich. Und erledigte Beiträge sollten auch den Status "erledigt" erhalten.
WS-53 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 04.01.2019, 13:40   #11
hugo64874
Threadstarter Threadstarter
MOF User
MOF User
Standard

Hallo WS-53,

also folgendes, der Laufzeitfehler kommt wenn ich Deine Formeln in meine Tabelle eingeben obwohl ich diese entspechend angepasst habe. Wenn ich die Daten in Deiner Tabelle eingeben, habe ich das Problem, das mir halt 2 Werte fehlen und zwar sind in diesem Fall die Bezeichnungen in der Spalte A gleich aber es gibt Unterschiede in der Spalte B. Irgend was scheint ihn da zu stören bzw. findet die Formel nichts, so das er keine Differenz feststellen kann. Könntest Du das bitte nochmal überprüfen?
Besten Dank. Und wegen den weiteren Sachen schaue ich halt dann nochmal.
Grüße Hugo
hugo64874 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 04.01.2019, 13:56   #12
WS-53
MOF Koryphäe
MOF Koryphäe
Standard

Hallo Hugo,

ich hatte geschrieben:

Zitat:

das scheint mir etwas unpräzise und wenig aussagekräftig. Wenn es eine Artikelzeile gab, die es jetzt nicht mehr gibt, oder umgekehrt, dann soll diese gezeigt werden. Dann siehst du diese Zeile, weißt aber nicht warum diese gezeigt wird. Weiterhin kannst du Artikelzeilen haben, die es gab und immer noch gibt, bei denen sich aber der Inhalt geändert hat. Diese Änderungen würdest du gar nicht sehen.

und du hast geantwortet:

Zitat:

Nun sollen die extra dazugekommenen Zeilen in dem Tabellenblatt Differenz ausgegeben werden. Dieses wird später auch gespeichert und an einen andere Abteilung per Mail geschickt. Also es geht eigentlich nur darum, ob es neue Zeilen in dem Tabellenblatt Neu gegenüber dem Tabellenblatt Alt gab und diese sollen ausgegeben werden.

Ich hatte somit nach den geänderten gefragt, die für dich aber nicht wichtig waren. Nun habe ich den Eindruck, dass du auch die Zeilen sehen möchtest, die es vorher auch schon gab, die sich aber geändert haben.

Was ist nun richtig??? und wenn ich es nicht richtig vderstanden habe, dann lade bitte eine Mappe hoch, in der die Zeilen in Neu markiert sind, die du im Tabellenblatt der geänderten sehen willst.

__________________

VG, WS-53


>>> Ein Spezialist kann nicht viel, dies aber gut. Die Steigerung ist, noch weniger noch besser zu können. Die Krönung ist, nichts zu können, aber darin perfekt zu sein! Es gibt aber auch Naturtalente, die überspringen die Ersten beiden Stufen. <<<

Übrigens, Feedback, egal welcher Art, ist immer hilfreich. Und erledigte Beiträge sollten auch den Status "erledigt" erhalten.
WS-53 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 04.01.2019, 14:05   #13
hugo64874
Threadstarter Threadstarter
MOF User
MOF User
Standard Änderungen

Hallo WS-53,

nein das ist nicht ganz so, diese beiden Zeilen gab es in der alten Datei nicht sondern diese sind nur in der neuen Datei. Aber in der Spalte A ist halt kein Unterschied zur nächsten Zeile sondern der Unterschied ist halt in der Spalte B.
Beispiel Spalte A Zeile 11:
12 Niete 16053033 Vertrieb Schrader 124 Test1 Card 13112012 Fest
und in der nächsten Zeile 12 steht:
12 Schraube 16053033 Vertrieb Schrader 124 Test1 Card 13112012 Fest
nun wird die Zeile 12 merkwürdigerweise nicht als Differenz angezeigt??
dabei gab es diese Zeile mit dem Inhalt noch garnicht in der alten Datei.
Warum fehlt diese Zeile? In der Beispieldatei habe ich in Tabellenblatt Aktuelle Woche
die beiden Zeilen rot gekennzeichnet, die es bisher nicht gab, die aber nicht in dem
Tabellenblatt Neue Zeilen erscheinen??
Danke.
Gruß Hugo
Angehängte Dateien
Dateityp: zip mof - Tabellen vergleichen und auswerten_neu.zip (26,9 KB, 1x aufgerufen)

Geändert von hugo64874 (04.01.2019 um 14:39 Uhr). Grund: jetzt mit datei
hugo64874 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 04.01.2019, 15:18   #14
WS-53
MOF Koryphäe
MOF Koryphäe
Standard

Hallo Hugo,

in deiner Tabelle zeigt die Spalte A die Artikelnummer. Dies ist dann normalerweise ein eindeutiger Key, dessen Bedeutung (Niete / Blech) sich normalerweise NIE ändert.

Und da du ja nur neue haben wolltest, frage ich mit meinen Formeln ab, ob es die Artikelnummer der aktuellen Zeile auch schon in der Vorwoche gab. Ist dies der Fall, zeigt die ausgeblendete Spalte A die Nummer der Zeile, in der der Artikel in der Vorwoche seht.

Und für alle Zeilen, mit einer Zeilennummer in Spalte A, wird nichts gezeigt.
Wenn nicht anhand der Artikelnummer, wie sonst soll denn dann festgestellt werden, ob eine Zeile NEU ist.

Dui hattest ja ausdrücklich betont, dass du nur nue Zeilen sehen willst, was aber scheinbar nun doch nicht deinen tatsächlichen Bedürfnissen entspricht.

__________________

VG, WS-53


>>> Ein Spezialist kann nicht viel, dies aber gut. Die Steigerung ist, noch weniger noch besser zu können. Die Krönung ist, nichts zu können, aber darin perfekt zu sein! Es gibt aber auch Naturtalente, die überspringen die Ersten beiden Stufen. <<<

Übrigens, Feedback, egal welcher Art, ist immer hilfreich. Und erledigte Beiträge sollten auch den Status "erledigt" erhalten.
WS-53 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 04.01.2019, 15:58   #15
hugo64874
Threadstarter Threadstarter
MOF User
MOF User
Standard genauere Erklärung: kompletter Zeilenvergleich

Hallo WS-53,
scheinbar habe ich mich doch falsch ausgedrückt. Es geht um einen kompetten Vergleich zwischen Alt und Neu. Dabei können die neu hinzugekommenen Zeilen aber sich halt auch erst in Spalte 2 oder 3 unterscheiden, es muss also der komplette Zeileninhalt überprüft werden, ob es diese komplette Zeile schon irgendwo in der alten Datei gab. Und wenn es, egal in welcher Zelle, keine Übereinstimmung gibt, dann ist es eine neue Zeile, die in einem extra Tabellenblatt aufgeführt werden muss. Vielleicht war meine Beispieldatei nicht ganz klar, es gibt in der Spalte A nicht unbedingt eine Nummer(23) sondern zum Beispiel eine Bezeichnung(Schraube). Und wenn es dann eine andere Schraube z. B. gibt, soll dieses halt ausgegeben werden und wenn es halt nur hinten ein anderer Hersteller ist, falls es genau diese halt vorher noch nicht gab. Wirklich ein kompletter Inhaltsvergleich aller Zeilen. Und es gibt keinen eindeutigen Key, der sich nie ändert.
Also das ist so grob die Aufgabe des Vergleiches. Ich hoffe es ist jetzt etwas klarer.
Grüße Hugo

Geändert von hugo64874 (04.01.2019 um 16:13 Uhr).
hugo64874 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:03 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.