Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Nachname alphabetisch sortieren





Frage

Hallo Excel-Experten, auf den ersten Blick sieht es nach einer ziemlich simplen Frage aus, ist es aber nicht, glaube ich. Und zwar habe ich in einer Spalte ca. 100 Namen, mit Vor-u. Nachnahme. Excel sortiert mir aber die Namen immer mit dem Vornamen alphabetisch, weil der Vorname ja auch an erster Stelle steht(zB.:Petra Müller), ich möchte aber gerne den Hinternamen alphabisch sortiert haben. Gibt es dafür eine Lösung ??. Vielen Dank im voraus. Gruß Peter

Antwort 1 von Carsten

Hallo!

Ich habe ein ähnliches Problem so gelöst:

-zwei leere Spalten einfügen
- in der ersten neuen Spalte mit der Funktion FINDEN für jeden Namen in der jeweiligen Zeile bestimmen, an wievielter Stelle in der Zelle mit dem Namen die Lücke zwischen Vor- und Nachnamen steht
- in der zweiten neuen Spalte mit der Funktion TEIL für jeden Namen in der jeweiligen Zeile den Teil hinter der Lücke (also nur den Nachnamen)ausgeben lassen
- diese zweite neue Spalte und die ursprüngliche Spalte gemeinsam markieren und dann sortieren

Hört sich kompliziert an, funktioniert aber.
Bin gespannt ob jemand einen einfacheren Weg kennt.

- Carsten -

Antwort 2 von nighty

hi Peter :)

du solltest dir einmal ueber einen vernuenftigen aufbau der tabelle gedanken machen anstatt komplizierte loesungen anzustreben .

gruss nighty

Antwort 3 von piter

Hallo nighty,
habe die Tabelle nicht selber erstellt, sonst hätte ich die Nachnamen an erster Stelle gebracht, habe nur keine Zeit alles umzuschreiben.Habe nur nach einer schnellen Lösung gesucht.


Schönen Dank noch an Carsten für den schnellen Lösungsvorschlag.

Gruß Peter

Antwort 4 von gresti

Hallo allerseits,

einfacher geht das mit der Funktion Text in Spalten.

Also, eine zusätzliche Spalte neben der Namensspalte einfügen.
Dann die Spalte mit den Namen markieren, auf Daten, Text in Spalten klicken. Als Trennzeichen das Leerzeichen angeben.
Das wars.

Gruß
gresti


Antwort 5 von want2cu

Hallo Peter,

ich kann nighty nur zustimmen und dir raten: mach es so wie von Gresti vorgeschlagen.

CU
want2cu

Antwort 6 von nighty

hi alle :)

geht nicht gibt es natuerlich nicht :)

wie gewuenscht :)

gruss nighty

Sub makro01()
Dim zaehler1 As Long
Dim zaehler2 As Long
For zaehler1 = 1 To Sheets(1).UsedRange.SpecialCells(xlCellTypeLastCell).Row
For zaehler2 = 1 To Len(Cells(zaehler1, 1).Value)
If Mid(Cells(zaehler1, 1).Value, zaehler2, 1) = " " Then
Cells(zaehler1, 1).Value = Mid(Cells(zaehler1, 1), zaehler2 + 1, Len(Cells(zaehler1, 1).Value)) _
& " " & Mid(Cells(zaehler1, 1), 1, zaehler2 - 1)
zaehler2 = Len(Cells(zaehler1, 1).Value)
End If
Next zaehler2
Next zaehler1
Range("A1:A65535").Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, _
MatchCase:=False, Orientation:=xlTopToBottom
For zaehler1 = 1 To Sheets(1).UsedRange.SpecialCells(xlCellTypeLastCell).Row
For zaehler2 = 1 To Len(Cells(zaehler1, 1).Value)
If Mid(Cells(zaehler1, 1).Value, zaehler2, 1) = " " Then
Cells(zaehler1, 1).Value = Mid(Cells(zaehler1, 1), zaehler2 + 1, Len(Cells(zaehler1, 1).Value)) & _
" " & Mid(Cells(zaehler1, 1), 1, zaehler2 - 1)
zaehler2 = Len(Cells(zaehler1, 1).Value)
End If
Next zaehler2
Next zaehler1
End Sub


Antwort 7 von want2cu

hallo zusammen,

Peter hat nach einer schnellen und einfachen Lösung gesucht.
Die Lösung von Gresti halte ich für die einfachste und praktikabelste.

Natürlich kann ich auch andere Lösungen nehmen und vorher dann fünfmal um den Block laufen und jippieeeh rufen ;-)))

Sorry nighty, das geht nicht gegen dich oder die vielen tollen Lösungen in VBA ;-)

Dann warten wir mal gespannt, wie Peter sich entscheidet.

Humorvolle Grüsse aus dem Bergischen Bermuda Dreieck sendet

want2cu

Antwort 8 von nighty

hi want2cu :))

grins :)))

gruss nighty

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: