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

Tabellen vergleichen

Tabellen vergleichen
16.10.2007 16:22:42
rupi2
Hallo Ihr im Netz,
mein Problem sieht wie folgt aus :
ich habe 3 Tabellen, in jeder stehen ca 20 bis 30 Namen ( Spalte A=Vorname / Spalte B=Nachname ),
die Anzahl der Namen ändert sich vor jedem ausführen des Makkros.
Nun möchte ich mittels Makkro eine Tabelle ( egal welche der 3 ) mit den anderen 2 vergleichen
und sollte ein Name in allen 3 Tabellen vorkommen soll dieser in eine 4. leere Tabelle geschrieben werden.
Kann mir jemand helfen ?
Geht so etwas über haupt ?
Ich bin für jede Antwort dankbar ( auch ein nein werde ich verstehen ).

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellen vergleichen
16.10.2007 18:35:00
Gerd
Hi,
können die Namen auch doppelt oder mehrfach vorkommen, falls ja, wie soll dann
vorgegangen werden?
mfg Gerd

AW: Tabellen vergleichen
16.10.2007 19:01:00
Herbert
Hi,
ein Vorkommen ist nur dann, wenn Nachname und Vorname gleich sind, oder?
mfg Herbert

AW: Tabellen vergleichen
16.10.2007 20:42:40
rupi2
Hallo,
für Herbert:
ja ein vorkommen ist dann wenn Vorname und Nachname ( beide ) identisch sind.
Beispiel :
wenn Uwe Schmidt in allen 3 Tabellen vorhanden ist, dann in die 4. Tabelle kopieren
Hans Schmidt ist nicht identisch mit Uwe Schmidt
Uwe Müller ist nicht identisch mit Uwe Schmidt
für Gerd:
jeden kompl. Name gibt es pro Tabelle nur ein mal ( z.B. Uwe Schmidt )
sorry dass es so lange gedauert hat, bin eben erst nach Hause gekommen.

Anzeige
AW: Tabellen vergleichen
17.10.2007 00:08:39
Daniel
Hi
unter den gegebenen Voraussetzungen mal ne Vorgehensweise, die deinem VBA-Level entgegen kommen sollte, nämlich OHNE:
1. alle Namen und Vornamen in eine Tabelle zusammenkopieren
2. in dieser Tabelle nach Namen und Vornamen sortieren
3. in Spalte C folgende Formel eintragen: = wenn(A1&B1=A3&b3;"bleibt";"löschen") und nach unten kopieren
4. per Autofilter in Spalte C nach "löschen" filtern und die sichtbaren Datensätze löschen.
5. Autofilter wieder aufheben
dürfe auch von Hand recht zügig gehen, wenn du es unbedingt per VBA brauchst, würde ich es auch genau nach diesen Schritten programmieren.
Gruß, Daniel

Anzeige
AW: Tabellen vergleichen
17.10.2007 10:30:00
rupi2
Hallo Daniel,
erst einmal danke für Deine Lösung, die hilft mir schon viel weiter.
Mein LBA Level ist schwer zu beschreiben, wenn man im Forum so die Fragen und Antworten liest.
Ich bin also schon in der Lage mittels Aufzeichnung des ersten Schrittes und ausfüllen des Befehles
bis zum Ende der Tabelle zurecht zukommen ..... nur kann man da schon von Anfängerwissen reden ?
Sollte Jemand noch einen Tip für mich haben, ohne dass ich die Datensätze der 3 Tabellen in eine kopieren
muß ....

wäre ich sehr Dankbar
Gruß
rupi2

AW: Tabellen vergleichen
18.10.2007 01:46:00
Daniel
HI
dein VBA-Level wäre doch mit "VBA nur mit Recorder" ganz gut beschrieben.
zumindest weisst du mal, was ein Makro ist und wie man es erstellt.
warum sollen die 3 Tabellenblätter nicht zusammenkopiert werden?
der einzige mir bekannte Grund dafür wäre, daß die 65536-Zeilengrenze überschritten wird, aber bis dahin dürfte meine Methode auch als Makro mit zu den schnellsten und kürzesten gehören.
hier mal der Code dafür:
die Namen stehen ohne überschrift in den Blättern "Tabelle1" bis "Tabelle3", die Liste wird in "Tabelle4" erzeugt, diese muss bereits vorhanden sein.

Sub Namen_aus_allen_Blättern()
With Sheets("Tabelle4")
.Cells.Clear
Sheets("Tabelle1").Range("A1").CurrentRegion.Copy .Range("A1")
Sheets("Tabelle2").Range("A1").CurrentRegion.Copy .Range("A65536").End(xlUp).Offset(1, 0)
Sheets("Tabelle3").Range("A1").CurrentRegion.Copy .Range("A65536").End(xlUp).Offset(1, 0)
.Range("A2").CurrentRegion.Sort key1:=.Range("A2"), key2:=.Range("B2"), header:=xlNo
End With
With Sheets("Tabelle4").Range("A1").CurrentRegion.Offset(0, 2).Resize(, 1)
.FormulaR1C1Local = "=WENN(ZS(-2)&ZS(-1)=Z(2)S(-2)&Z(2)S(-1);Zeile();WAHR)"
.Formula = .Value
End With
With Sheets("Tabelle4")
.Range("A1").CurrentRegion.Sort key1:=Range("C1"), header:=xlNo
.Range("C:C").SpecialCells(xlCellTypeConstants, 4).Offset(0, -2).Resize(, 3).Delete shift:= _
xlUp
.Range("C:c").Delete
End With
End Sub


Gruß, Daniel

Anzeige
AW: Danke Daniel
18.10.2007 12:53:14
rupi2
Hallo Daniel,
einen risiges Dankeschön an Dich,
möge es der Weihnachtsmann ( oder wer Dir sonst eine Freude bereitet ) berücksichtigen.
Ich habe es eben getestet und es klappt einwandfrei.
Gruß
rupi2

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige