da ich von VBA keine Ahnung habe hoffe ich, dass Ihr mir einen schlanken Code schreiben könnt. Es geht darum, Teilnehmer in zwei Listen hinzuzufügen.
Zur Einstimmung: In Tabellenblatt 'Hilfstabelle'! stehen (u.a. über Formel kkleinste) die neu hinzuzufügenden Teilnehmer, in Spalte H der Nachname, in Spalte I der Vorname (Ab Zeile 2). Die Anzahl der hinzuzufügenden Teilnehmer ist variabel.
Gleiches gilt für zu löschende Teilnehmer: Diese stehen in Spalte L (Nachname) und M (Vorname).
1. Teil: Hinzufügen
Im Bereich H2:I51 sollen die Werte der gefüllten Zellen in Tabellenblatt 'Einweisung'! ab Zelle A151 sowie in Tabellenblatt 'Führerschein'! ab Zelle A151 hinzugefügt werden.
In allen Zellen stehen Formeln, allerdings kann es sein, dass der Wert "" (BLANK) ausgegeben wird. Dieser Wert soll nicht übertragen werden.
2. Teil: Löschen
Die Teilnehmer, die in der Hilfstabelle in Spalte L + M stehen (z.B. 'Hilfstabelle'!L2&'Hilfstabelle'!M2, 'Hilfstabelle'!L3&'Hilfstabelle'!M3, 'Hilfstabelle'!L4&'Hilfstabelle'!M4, ..., 'Hilfstabelle'!L51&'Hilfstabelle'!M51) sollen in Tabelle 'Führerschein'! und Tabelle 'Einweisung'! (jeweils im Range A1:A200) gefunden werden, die Zellen sind zu leeren.
Die Schwierigkeit: Zwar ist die Kombination Nachname&Vorname eindeutig, jedoch können Nachname oder auch Vorname einzeln betrachtet mehrmals vorkommen.
3. Teil: Sortieren
Hierzu habe ich mir bereits folgendes überlegt:
Tabelle1.Select
Range("A2:Y200").Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Tabelle2.Select
Range("A2:R200").Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Ist das soweit korrekt?
Danke und Grüße
Martin