Microsoft Excel

Herbers Excel/VBA-Archiv

Tabellen Vergleich/aktualisieren

Betrifft: Tabellen Vergleich/aktualisieren von: Georg
Geschrieben am: 04.10.2020 23:59:20

Hallo Forum,

Toll, dass es so viel Hilfe gibt, wenn Probleme auftauchen. Dankeschön hierfür.

Ich bin heute zum ersten Mal in einem Forum und hoffe, dass ich das alles richtig mache.

Kurz zu meiner Person, Georg, geb. Nov. 1955, also "Alter Sack", und seit März 2020 in

Vorruhestand und habe etwas Zeit und mich deshalb mit VBA beschäftigt, also noch nicht

soviel Ahnung, eher "Try and Error" :-).

Nun zu meinem Problem:

Habe für einen guten Freund eine Anwendung versucht zu schreiben, klappt aber nicht so richtig.

Die Hauptanwendung (Tourenplanung für Sonder-Fzg. mit kilometergenauer Abrechnung)

umfasst mittlerweile mehr als 10K Zeilen. Soweit so gut, läuft auch. Was ich seit Tagen versuche, ist eine Synchronisation von zwei Tabellen mittels VBA-Makro. Wenn nur Änderungen auftreten klappt das ganz gut, aber wenn neue Daten sowohl in der einen (Internen) als auch in der anderen (Externe, vomTablet als *.xlsx ) vorhanden sind, läuft das etwas aus dem Ruder.

Es sollen 7 Spalten (von 14) geprüft werden, das ganze zeilenweise. ID = Zeilennummer.

Ich habe ein prov. UserForm erstellt und die beiden Dateien mit Pseudo Daten beigefügt. Sollte alles selbsterklärend sein, löschen der Daten ist nicht vorgesehen, des deaktiviert. Es sind einige Snippet aus dem Forum mit eingebaut (wofür ich mich ausdrücklich bedanken möchte), um demjenigen der mir etwas Hilfe zuteilwerden lässt, die Arbeit zu erleichtern und um das Problem zu verstehen. Ich hoffe, das mir geholfen werden kann, und bedanke mich schon mal im Voraus.

Bei fragen stehe jederzeit zur verfügung.

Viele Grüße Georg, alias „Alter Sack“.

Betrifft: AW: Tabellen Vergleich/aktualisieren
von: Georg
Geschrieben am: 05.10.2020 00:09:13

https://www.herber.de/bbs/user/140651.zip

Betrifft: AW: Tabellen Vergleich/aktualisieren
von: ralf_b
Geschrieben am: 05.10.2020 01:47:52

Schönes Ding.

Ich glaube die Zeilennummer als ID zu verwenden ist vielleicht nicht die beste Wahl. Zwei Dateien. Jeweils die gleichen Zeilennummern aber unterschiedliche Datensätze möglich.

Wenn du eine eindeutige ID erzeugen könntest für jeden Datensatz, dann wäre das Vergleichen doch ein Klaks.

Noch was: fragst du bei neuen Einträgen nicht ab ob die entsprechenden Felder auch korrekte Daten beinhalten? Oder ist das aus der Beispieltabelle rausgenommen?
Du erzeugst eine neue Zeile (Datensatz) bevor die Daten dafür vorhanden sind.

gruß

RB

Betrifft: AW: Tabellen Vergleich/aktualisieren
von: georg
Geschrieben am: 05.10.2020 12:08:54

Hallo Ralf,
vielen Dank für die schnelle Antwort.

Deine Fragen möchte ich wie folgt beantworten.
In Tabelle intern werden geplante Fahrten erfasst mit KM laut GG Maps und an Extern via Web übermittelt.
Die zuständige Person lädt die Datei auf sein Tablet und weiß was anliegt. Klappt soweit.
Nach ablschluß wird gegebenfalls die KM oder Rechtschreibfehler geändert, weil unterschied, sendet zurück und Tabelle wird mit Intern abgeglichen, und wenn korrekt übernommen (vergleich LB1 zu LB2). Klappt auch.
Wenn jetzt aber in Intern oder Extern eine änderung auftaucht und gleichzeitig neue Daten eingegeben wurden (neue Tour vom Empfänger der ersten Tour ab Zielort bekommen wovon Intern nichts weiß) kommt der Ablauf ins schleudern.
Frage1:
Die Zeilennummern als ID habe ich genommen weil ich es nicht besser wußte. Sind in beiden Tabellen immer an gleicher Stelle und es werden 5 Zellen pro Zeile auf Unteschied geprüft, ändere ich aber gern wenn ich weiß wie ich das machen soll.
Frage2:
Bei der Eingabe im Programm werden die Felder einzeln auf plausibilität geprüft, Leereingaben nicht möglich(im Beispiel habe ich darauf verzichtet.
Frage 3:
Bin für Verbesserung/änderungsvorschläge dankbar. Habe ich so gemacht weil irgendwie mußte ich anfangen und das Beispiel,welches ich im I-Net gefunden habe, für mich am einfachsten nachvollziehbar war.

Für Deine Hilfe beim lösen des Problems sage ich jetzt schonmal Vielen dank!!

Betrifft: AW: Tabellen Vergleich/aktualisieren
von: ralf_b
Geschrieben am: 05.10.2020 12:57:03

hmm, ok

eine eindeutige ID könnte auch nur eine laufende Nummer unabhängig der Zeilennummer sein.
Diese ID wird in intern vergeben. Wenn ein neuer Datensatz aus extern hinzukommt, könnte man dessen ID entweder weglassen oder als extern Kennzeichnen und sie dann anschließend in intern einsortieren und eine ID vergeben.
Da gibt es sicher erprobte Lösungen, aber da bin ich nur Laie.

Betrifft: AW: Tabellen Vergleich/aktualisieren
von: georg
Geschrieben am: 05.10.2020 13:10:03

Hallo Ralf,
Dankeschön für Deine Antwort.
Ich werde weitere Möglichkeiten ausprobieren, irgendwann habe dann
vielleicht eine Lösung gefunden nach dem Prinzip Try and Error :-)
Ich bin geduldig und mich hetz ja keiner.
Schönen Tag wünsche ich noch und bleib gesund!!!

georg

Betrifft: AW: Tabellen Vergleich/aktualisieren
von: Thomas
Geschrieben am: 05.10.2020 15:22:45

das würde mich auch interessieren. Dein Script ist heftig und auch wenn ich davon nichts verstehe, ist der Dateivergleich spitze.
Das mit den Änderungen in eine extra Zeile würde mich auch interessieren. Ich suche sowas in dieser Form für ein Abrechnungsblatt. Dabei sollte bei einer Änderung automatisch im Hintergrund die alte Zeile bleiben und die neue darunter. Dahinter in einer weiteren Spalte dann Korrektur1,2,3,ect. mit Datum/Uhrzeit in einer weiteren Spalte. Das sollte zwischen zwei Tabellenblättern geschehen.
Bin mal gespannt, ob jemand eine simple Vergleichsaktion auf Lager hat.

Betrifft: AW: Tabellen Vergleich/aktualisieren
von: ralf_b
Geschrieben am: 05.10.2020 16:52:23

Hallo Thomas,

simpel? das kommt auf die Betrachtungsweise an.

simpel wäre eine verkettung der zellinhalte und dann der vergleich der beiden texte.
aber wie meinst du das mit "die alte Zeile im Hintergrund und die die Neue darunter"?
Entweder im Hintergrund oder sichtbar.