Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Nach Namen sortieren - mit einer Bedingung
#1
Hallo alle

Ich habe folgende Ausgangslage: Es existiert eine Teilnehmerliste von Personen, die zum Teil alleine und zum anderen Teil mit Begleitung kommen. In Spalte A steht von allen Personen "Name Vorname", also auch von den Begleitpersonen - ich habe also pro Person eine Zeile. Bei den Beleitpersonen steht in Spalte B "Name Vorname" von der Hauptperson, welche sie begleitet. Bei den "Hauptpersonen" und alleine teilnehmenden ist Spalte B leer. Dahinter kommen noch etliche weitere Spalten mit Angaben, die aber mit dem jetzigen Problem nichts zu tun haben.

Folgender Wunsch: Ich möchte die Tabelle gerne nach den Namen der Teilnehmer sortieren, wobei aber die Begleitpersonen jeweils unter deren "Hauptperson" eingereiht werden soll.

Falls mein Anliegen nicht klar ist, hier kurz als Beispiel (der Einfachheit halber nur mit (willkürlichen) Nachnamen):

Albrecht
Brucker
Dornauer
Tischner (Begleitung von Dornauer) 
Eggner
Fischer
Bachmann (Begleitung von Fischer)
Grossmann
Hahn
...
...
Man versteht, was ich meine. Kennt jemand die eine Möglichkeit, das (mit Abhängigkeiten?) so zu sortieren?

Danke für die Antworten!

Gruss
Johannes
Antworten Top
#2
Hallo,

als ersten Schritt kann man dem Namen des Begleiters den Namen der Hauptperson voranstellen (siehe Code), dann Spalte A und B sortieren und zum Schluß die Änderung wieder rückgängig machen (Code ist noch zu schreiben).


Code:
Sub Swiss()
for each Ar in columns("B").specialcells(2)
    if instr(Ar, "von") > 0 then
        msgbox right(Ar, len(Ar)-16)
        cells(Ar.row, "A") =  right(Ar, len(Ar)-16) & cells(Ar.row, "A")
    end if
next Ar
End Sub


mfg
Antworten Top
#3
Hi Johannes,


Zitat:Falls mein Anliegen nicht klar ist, hier kurz als Beispiel (der Einfachheit halber nur mit (willkürlichen) Nachnamen):

du solltest uns einen Tabellenausschnitt ( http://www.clever-excel-forum.de/thread-47.html ) mit den beiden relevanten Spalten und mit eingetragenen (fiktiven) Personen zeigen. 10-12 Datensätze reichen aus. Alleine deine Beschreibung ist für mich nicht klar. Das verstehe ich nicht:

Zitat:Bei den Beleitpersonen steht in Spalte B "Name Vorname" von der Hauptperson, welche sie begleitet. Bei den "Hauptpersonen" und alleine teilnehmenden ist Spalte B leer.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#4
Hallöchen,

ich versuch's mal ohne Datei Smile Wenn Du irgendwo eine freie Spalte hast, kannst Du auch mit Hilfe von Formeln eine entsprechende Sortierung erreichen. Hier mal ein einfaches Beispiel. In Spalte C übernimmst Du die Namen aus der zweiten Spalte und dann die aus der ersten. Dadurch wird bei den Helfern die Reihenfolge Helfer / Hauptperson herumgedreht. Dann sortierst Du nach Spalte C und anschließend löschst Du sie.

Tabellenblattname: Tabelle1
ABC
1WilliWilli
2BaldBald
3LauterBaldBaldLauter
4BachBach

Benutzte Formeln:
C1: =B1&A1
C2: =B2&A2
C3: =B3&A3
C4: =B4&A4
© schauan
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#5
Hallo Johannes,

hier einmal Fenneks Idee mit Formeln und ohne Makros.
Die Liste muss nach den Spalten C und D sortiert werden.


Angehängte Dateien
.xlsx   Begleitung.xlsx (Größe: 9,45 KB / Downloads: 7)
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Antworten Top
#6
Hallo zusammen

Vielen herzlichen Dank für die sehr schnellen und verständlichen Antworten!

Die Variante von Helmut klagt hervorragend und löst mein Problem. Mit VBA kenne ich mich noch etwas weniger aus, als ich gerne würde...werde aber das von Fennek - nur schon rein aus Lerngründen - in diesen Tagen auch noch ausprobieren.

Cooles Forum hier - ich fand viel Nützliches auch über die Suchfunktion in den Rubriken, danke!

Gruss
Johannes
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste