Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
780to784
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
780to784
780to784
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA - Daten vergleichen u. kennzeichnen

VBA - Daten vergleichen u. kennzeichnen
18.07.2006 07:19:00
Bernd
Hallo, liebe Excel Gemeinde,
habe mal wieder ein Problem zu lösen, zu dem ich Hilfe brauche.
Ich möchte in einer Datei Daten aus zwei Tabellenblättern - Tabelle 1, (nur Spalte A, ganzes Tabellenblatt) mit den Daten der Tabelle 2 (nur Spalte A ganzes Tabellenblatt) vergleichen. Bei festgestellter Übereinstimmung von Daten möchte ich in der Tabelle 1 (Ausganstabelle) dies in der Spalte G - z.B. mit einem "x" kennzeichnen damit ich später die Daten mit dem AutoFilter bearbeiten kann. Das Makro möchte ich einer Befehlschaltfläche zuordnen.
Ich hatte das Problem schon einmal eingestellt aber noch keine richtig passende Lösung gefunden.
Wer kann mir helfen? Ich hatte in der Vergangenheit schon sehr gute Tipps von MichaV und HaraldE.
Herzliche Grüße
Bernd Leubner

19
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - Daten vergleichen u. kennzeichnen
18.07.2006 08:05:40
egres
Hi Bernd!
warum Makro, ich würde es mit Verweis machen:
=WENN(ISTFEHLER(SVERWEIS(A1;Tabelle2!A:A;1;1)&gt0);"";WENN((SVERWEIS(A1;Tabelle2!A:A;1;1)&gt0);"X"))
Gruss Serge
AW: VBA - Daten vergleichen u. kennzeichnen
18.07.2006 08:17:12
{mskro}
Hallo Serge,
deine Formel macht aber Fehler. Sie zeigt auch das "X" an, wenn in "Tabelle1" die Zahl "55" steht und in der "Tabelle2" die Zahl "555".
Gruss Manfred
Fehler?
18.07.2006 08:27:03
egres
Manfred
ich habe es ausprobiert, bei mir kommt es nich zu diesem Fehler!
Serge
AW: ja, bei mir schon (Office 2000)
18.07.2006 08:48:40
{mskro}
Das ist schon merkwürdig, bei mir tritt der Fehler auf. Bin mal gespannt, was der Fragesteller dazu sagt.
Gruss Manfred
AW: hier mal die TestDatei
18.07.2006 08:55:24
{mskro}
Hallo Serge,
probiere doch bitte mal die TestDatei, bei der der Fehler auftritt.
https://www.herber.de/bbs/user/35160.xls
Gruss Manfred
Anzeige
Du hattest recht! aber gelöst!
18.07.2006 09:57:04
egres
Manfred ich habe den Bock gefunden, es liegt an dem Wahrheitswert (Bereichsverweis):
=WENN(ISTFEHLER(SVERWEIS(A1;Tabelle2!A:A;1;0)&gt0);"";WENN((SVERWEIS(A1;Tabelle2!A:A;1;0)&gt0);"X"))~f~
~f~=WENN(ISTFEHLER(SVERWEIS(A1;Tabelle2!A:A;1;1)&gt0);"";WENN((SVERWEIS(A1;Tabelle2!A:A;1;1)&gt0);"X"))
Gruss
Serge
AW: Super, jetzt gehts
18.07.2006 10:52:27
{mskro}
Super, da wird sich der Fragesteller freuen.
Gruss Manfred
AW: hier mal die TestDatei
18.07.2006 10:01:00
HermannZ
Hallo Manfred;
bei der verwendeten formel wird nicht zwischen 555 und 55 unterschieden, weil der SVERWEIS nicht auf genaue Übereinstimmung steht.
Formel so ändern dann stimmts;
=WENN(ISTFEHLER(SVERWEIS(A5;Tabelle2!A:A;1;0)&gt0);"";WENN((SVERWEIS(A5;Tabelle2!A:A;1;0)&gt0);"X"))
gruß hermann
Anzeige
VBA - Daten vergleichen u. kennzeichnen
18.07.2006 10:41:39
Bernd
Hallo Hermann und Mitstreiter,
danke für eure Bemühungen für die Lösung die mir vorschwebt ist ein Formeleintrag nicht zweckmäßig. Trotzdem noch einmal vielen Dank.
Herzliche Grüße
Bernd
AW: VBA - Daten vergleichen u. kennzeichnen
18.07.2006 10:35:57
Bernd
Hallo Holger,
Dein Lösungsvorschlag ist erst mal vielversprechend hat aber noch einen kleinen Haken! Funktioniert nur wenn Tabellen gleich aufgebaut sind, allso immer gleiche
Zellen in unterschiedlichen Tabellen verglichen werden.
Bei mir soll es aber so sein.
Die Spalten "A" der Tabellen 1 und 2 sind mit einer unterschiedlichen Anzahl von Datensätzen gefüllt. Der Vergleich müßte folgendermaßen ablaufen:
Beginn - Vergleiche z.B. den Inhalt der Zelle A6 Tabelle 1 mit der gesamten Spalte A der Tabelle 2! Wenn in der Tabelle 2 in der Spalte A eine Übereinstimmung gefunden wird soll dies in der Tabelle 1 Zelle G6 allso in der gleichen Zeile mit "x" gekennzeichnet werden. Als nächstes Zelle A7 vergleichen mit Spalte A der Tabelle 2 usw.
Vielleicht kannst Du dass noch lösen?
Viele Grüße Bernd
Jetzt habe ich das Thema aus Versehen auch noch doppelt eingestellt!
Anzeige
AW: VBA - Daten vergleichen u. kennzeichnen
18.07.2006 11:40:53
Holger
Hallo Bernd
Jetzt wird jede Zelle (A1 A2 A3 bis Ende)aus Tabelle1 mit jeder Zelle in Spalte A in Tabelle2 verglichen. Was ist eigentlich mmit Gr0ß/Kleinschreibung?
Probier erst mal
https://www.herber.de/bbs/user/35168.xls
Gruß Holger
AW: VBA - Daten vergleichen u. kennzeichnen
18.07.2006 11:55:47
Holger
Hallo Bernd
Habs noch etwas abgeändert. Wandle jetzt beide Vergleichswerte in Großbuchstaben um. Die Werte in den Zellen werden nicht verändert. So kann ein kleines x mit einem Großen X verglichen werden und ergiebt eine Übereinstimmung. Hatt aber wie gesagt keinen Einfluß auf Deine Tabelle also es werden Deine Daten nicht Verändert.
https://www.herber.de/bbs/user/35169.xls
Gruß Holger
Anzeige
AW: VBA - Daten vergleichen u. kennzeichnen
18.07.2006 12:28:47
Bernd
Hallo Holger,
Du tastest Dich gut heran - ein kleiner Fehler ist mir aber noch aufgefallen. Kann man den Code nicht dahingehend verändern, dass ich festlegen kann wo in der Tabelle 1 Spalte A der Vergleich beginnt - allso eventuell in Zeile 7 oder 8!
Wenn Du in Deinem Beispiel in der Tabelle 1 die Dateneingabe erst z.B. bei A5 beginnst funktioniert der Vergleich nicht - nur wenn beide Tabellen ab A1 gefüllt sind.
Ich hoffe Dir fällt noch was ein!
Viele Grüße
Bernd
AW: mit Zeilenangabe
19.07.2006 07:01:54
Bernd
Hallo Holger,
leider komme ich erst heute dazu mich für Deine Lösungen zu bedanken.
Die Variante mit der msgBox gefällt mir auch sehr gut, allerdings für ein anderes Projekt.
In dem vorliegenden Fall möchte ich die Bearbeitung in der Tabelle1 immer bei A6 beginnen lassen, vielleicht kannst Du mir noch was schicken.
Vielen herzlichen Dank
Bernd
AW: mit Zeilenangabe
19.07.2006 12:50:13
Bernd
Hallo Holger,
im Prinzip funktioniert jetzt alles wunderbar aber trotzdem habe ich noch Schwierigkeiten mit der Handhabung.
Problem ist die Bearbeitungszeit - mein Programm reagiert dann nicht mehr da warscheinlich die Datenmengen zu groß werden.
Ich hane jetzt die Zeilenanzahl die bearbeit bzw. in denen nach Übereinstimmung gesucht wird begrenzt.
Besser wäre aber wenn die Bearbeitung bzw. die Suche immer nur bis zur letzten gefüllten Zelle in der Spalte A der beiden Tabellenblätter erfolgt.
Und noch eine Bitte - das Eintragen der "x" soll erst ab Zeile 6 erfolgen da ich darüber
noch einen Zähler einbauen möchte der mir sonst weggelöscht wird.
Ich hoffe ich nerve Dich nicht zu sehr mit meinen Wünschen.
Viele Grüße Bernd
Anzeige
AW: mit Zeilenangabe
19.07.2006 13:44:44
Holger
Hallo Bernd
Habe das mit dem x-Eintragen geändert. Hatte vorher immer die ganze Spalte G gelöscht um neu Einzutragen und jetzt lösche ich erst ab der 6ten Zeile.
Das mit der Datenmenge ist immer so ein Problem.
Jetzt kenn ich nicht die Menge Deines Datenbestandes.
letzteZeileBlatt1 = Sheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row
letzteZeileBlatt2 = Sheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp).Row
Diese beiden Codezeilen lesen jeweils die letzte beschriebene Zelle in Spalte A der beiden Tabellen aus. Jetzt wird natürlich jede Zelle in A aus Tabelle1 mit dem gesamten Datenbestand in Tabelle2 verglichen danach die nächste Zelle aus Tabelle1 und so weiter usw....
Das kann natürlich dauern ( sind wohl ein paar 1000 ?)
Mehr fällt mir da erst mal nicht ein.
https://www.herber.de/bbs/user/35211.xls
Gruß Holger
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige