Microsoft Excel

Herbers Excel/VBA-Archiv

Vornamen, Nachnamen und Titel trennen | Herbers Excel-Forum


Betrifft: Vornamen, Nachnamen und Titel trennen von: Michael
Geschrieben am: 12.11.2009 11:19:18

Hallo zusammen,

ich habe folgendes Problem:

Ich habe eine Excel-Datei die einige Namen beinhaltet, diese Namen stehen alle in einer Zelle. Es gibt Namen in der Form Vorname Nachname, aber es gibt auch Namen, die einen Titel beinhalten z.B.:

Dr. med. Thomas Mustermann
Prof. Dr. med. Thomas Mustermann
Dipl. Kfm. Thomas Mustermann

die Aufgabe besteht darin, die Titel in eine Zelle und jeweils auch den Vornamen und den Nachnamen in eine Zelle.

Die Formel: http://www.excelformeln.de/formeln.html?welcher=158

ist mir bekannt, funktioniert aber bei Dr. med. schon leider nicht mehr. Hat jemand eine Idee wie man das Problem lösen könnte?

Michael

  

Betrifft: AW: Vornamen, Nachnamen und Titel trennen von: Oberschlumpf
Geschrieben am: 12.11.2009 11:23:36

Hi Michael

Muss es eine Formel sein, oder kann es auch VBA sein?

Ciao
Thorsten


  

Betrifft: AW: Vornamen, Nachnamen und Titel trennen von: Michael
Geschrieben am: 12.11.2009 11:31:39

Es spielt keine Rolle, Hauptsache es funktioniert.


  

Betrifft: AW: Vornamen, Nachnamen und Titel trennen von: Oberschlumpf
Geschrieben am: 12.11.2009 11:37:21

Hi Michael

Ok, egal wie..hauptsache es funzt...aber...

...ich werde auch gerne in jedem Beitrag mit nem "Hallo" begrüßt...dann funktioniere auch ich irgdwie besser, weils freundlicher is.

Ichversuc ma mein Glück.

Ciao
Thorsten


  

Betrifft: AW: Vornamen, Nachnamen und Titel trennen von: Michael
Geschrieben am: 12.11.2009 11:39:09

Hallo Thorsten,

sorry, bin grad etwas im Stress. Also nochmal: Hallo Thorsten :-)

Grüße
Michael


  

Betrifft: AW: Vornamen, Nachnamen und Titel trennen von: Oberschlumpf
Geschrieben am: 12.11.2009 12:11:26

Hi Michael

hier meine Idee:
https://www.herber.de/bbs/user/65811.xls

Hilfts?

Ciao
Thorsten


  

Betrifft: @ Thorsten: Prima Umsetzung, aber... von: Jens
Geschrieben am: 12.11.2009 12:16:05

Hi Thorsten

... das funzt nicht bei Doppel-Vornamen (Dr. med. Franz Georg Mustermann)

Vielleicht noch eine Herausforderung für Dich? ;o)

Gruß aus dem Sauerland

Jens


  

Betrifft: AW: @ Thorsten: Prima Umsetzung, aber... von: Oberschlumpf
Geschrieben am: 12.11.2009 12:35:50

Hi Jens

eigtl nich mein Problem ;-), weil in den Bsp-Namen kein einziger Doppelvor/nachname vorhanden ist.

Hi Michael

sollten tatsächlich die von dir nicht erwähnten, aber von Jens hingewiesenen Doppelnamen vorkommen, dann versuch es mal hiermit:
https://www.herber.de/bbs/user/65812.xls

Hilfts?

Ciao
Thorsten

@Jens...dein "Urteil" interessiert mich auch
P.S. wenn jetzt noch gewünscht wird, dass der Nachname IMMER in der gleichen Spalte steht, kann dies gern erwähnt werden, aber so schnell hätt ich dazu jetzt keine Lösung


  

Betrifft: AW: @ Thorsten: Prima Umsetzung, aber... von: Michael
Geschrieben am: 12.11.2009 14:06:07

Hi Thorsten,

hab mit die Datei runtergeladen, aber das funktioniert bei den Doppel Vornamen leider nicht, muss dass dann wohl per Hand machen.

Grüße
Michael


  

Betrifft: funzt doch..versteh ich nich von: Oberschlumpf
Geschrieben am: 12.11.2009 15:06:34

Hi Michael

Habe mir dieselbe Bsp-Datei auch noch mal heruntergeladen, kann aber keinen Fehler feststellen, da es anstandslos funktioniert, wie du sehen kannst:



Ich bin leider überfragt.

Ciao
Thorsten


  

Betrifft: AW: funzt doch..versteh ich nich von: Michael
Geschrieben am: 12.11.2009 15:52:12

Hallo,

das Thomas Fred soll ja in eine Zelle, gehört ja beides zum Vornamen.

LG
Michael


  

Betrifft: noch offen von: Oberschlumpf
Geschrieben am: 12.11.2009 15:07:13




  

Betrifft: jetzt MIT Haken!...grr von: Oberschlumpf
Geschrieben am: 12.11.2009 15:07:44




  

Betrifft: ..Michael-könntest du vielleicht..... von: robert
Geschrieben am: 12.11.2009 15:15:51

Hi,

einmal bekanntgeben, WAS nicht funktioniert ?

dann hat das ratespiel vielleicht bald ein ende.

gruß
robert


  

Betrifft: AW: ..Michael-könntest du vielleicht..... von: Michael
Geschrieben am: 12.11.2009 15:53:33

Hallo Robert,

also, die Vornamen sollen alle in eine Zelle, der Titel und die Nachnamen, es sollen also nicht mehrere Vornamen in mehrere Zellen.

Grüße
Michael


  

Betrifft: AW: ..Michael-könntest du vielleicht..... von: robert
Geschrieben am: 12.11.2009 16:04:34

hi,

zeige bitte in dieser datei, wie es aussehen soll und schick sie wieder.

gruß
robert

https://www.herber.de/bbs/user/65822.xls


  

Betrifft: AW: ..Michael-könntest du vielleicht..... von: Michael
Geschrieben am: 12.11.2009 16:18:29

Hallo Robert,

die soll so aussehen:

https://www.herber.de/bbs/user/65825.xls

Grüße
Michael


  

Betrifft: AW: ..Michael-könntest du vielleicht..... von: Oberschlumpf
Geschrieben am: 12.11.2009 16:23:04

Hi Robert

Danke.
Das ist eigentlich ne gute Idee.

Aber (mein Fehler)

Michael schrieb ja ganz zu Anfang
...die Aufgabe besteht darin, die Titel in eine Zelle und jeweils auch den Vornamen und den Nachnamen in eine Zelle.
...


Mein Fehler war es, dass ich halt alle Namensteile in eigene Zellen "packte", was ja so nicht gewollt war.




Hi Michael

Tausch den Code gegen diesen aus:

Sub sbAuslesen()

    Dim lloZeile As Long, larstrSplit1() As String, larstrSplit2() As String, liTitel As  _
Integer, liName As Integer
    
        For lloZeile = 1 To Cells(Rows.Count, 1).End(xlUp).Row
            larstrSplit1 = Split(Range("A" & lloZeile).Value, ".")
            larstrSplit2 = Split(Trim(larstrSplit1(UBound(larstrSplit1))), " ")
                For liName = 0 To UBound(larstrSplit2) - 1
                    Range("C" & lloZeile).Value = Range("C" & lloZeile).Value & larstrSplit2( _
liName) & " "
                Next
            Range("D" & lloZeile).Value = larstrSplit2(UBound(larstrSplit2))
                For liTitel = 0 To UBound(larstrSplit1) - 1
                    Range("B" & lloZeile).Value = Range("B" & lloZeile).Value & larstrSplit1( _
liTitel) & "."
                Next
        Next

End Sub

Aber trotzdem gilt.
Bitte nich nur schreiben "es geht nich", sondern auch schreiben "was genau geht nicht, was genau passiert stattdessen"

Passt es denn jetzt?????

Ciao
Thorsten


  

Betrifft: @Thorsten,noch etwas... von: robert
Geschrieben am: 12.11.2009 16:31:22

hi,

läuft super, jedoch würde ich jedesmal den bereich B:E löschen,

denn wenn das makro 2 oder 5 mal läuft ?

gruß
robert


  

Betrifft: AW: @Thorsten,noch etwas... von: Oberschlumpf
Geschrieben am: 12.11.2009 16:41:45

Hi Robert

...denn wenn das makro 2 oder 5 mal läuft ?...

ja, hätt ich machen können.

Danke für die Anregung.

Ciao
Thorsten


  

Betrifft: AW: ..Michael-könntest du vielleicht..... von: Michael
Geschrieben am: 12.11.2009 16:35:54

Hallo Thorsten,

klasse, das funktioniert sehr gut. Bei den Nachnamen wie "von Geldern" oder " Freiherr von Mannheim" oder sowas halt funktioniert es nicht, aber das sind auch nicht so viele. Klasse, danke Dir nochmal.

Michael


  

Betrifft: AW: @ Thorsten: Prima Umsetzung, aber... von: Michael
Geschrieben am: 12.11.2009 14:33:27

Hi Thorsten,

hab mit die Datei runtergeladen, aber das funktioniert bei den Doppel Vornamen leider nicht, muss dass dann wohl per Hand machen.

Grüße
Michael


  

Betrifft: @ Thorsten: Habe mir nun Deine letzte... von: Jens
Geschrieben am: 12.11.2009 22:54:08

Hi Thorsten

...Lösung angesehen. Würd sagen, viel besser geht es nicht.
Außer evtl. das von Robert angemerkte Löschen des Bereiches.

Alle Eventualitäten können wahrscheinlich eh nicht abgedeckt werden, dafür gibt es zu viele Namensmöglichkeiten.

Das Makro würde aber ebenfalls nicht funzen, wenn es einen Doppelnachnamen ohne Bindestrich gibt (Meier Müller). Das ist aber nach deutschem Recht nicht möglich. Nur, wenn man Ausländer ist, wäre das möglich, den Bindestrich wegzulassen.

Du siehst, es ist einfach nicht machbar, alles abzudecken. Aber die Lösung ist auf jeden Fall ausreichend, denke ich.

So weit mein "Urteil" ;o)

Gruß aus dem Sauerland

Jens


  

Betrifft: AW: Vornamen, Nachnamen und Titel trennen von: Michael
Geschrieben am: 12.11.2009 12:36:20

Hi Thorsten,

erstmal danke für Deine Hilfe. Das sieht wirklich schon sehr gut aus, allerdings erhalte ich irgendwann folgende Fehlermeldung:

Laufzeitfehler '9':

Index außerhalb des gültigen Bereichs

Der Datensatz an dem es niocht weitergeht sieht so aus:

Dr. med. Julia Mustermann M.Sc.

Ich weiß nicht, ob es damit zusammenhängt.Ich kann dann auf Debuggen oder Beenden klicken, bei Debuggen komme ich in das Makro Fenster und die Zeile

Range("C" & lloZeile).Value = larstrSplit2(LBound(larstrSplit2))

ist gelb unterlegt. Hast Du da eine Idee, wie man das beheben kann?

Grüße
Michael


  

Betrifft: ich weiß keine Lösung... von: Oberschlumpf
Geschrieben am: 12.11.2009 12:44:09

Hi Michael

Tja, das liegt daran, weil du diesen "besonderen" Namen in deinem Erstbeitrag NICHT erwähnt hattest.

a) ich weiß nicht, was ein "M.Sc." in einem Namensfeld bedeutet
b) hättest du das gleich zu Anfang erwähnt, hätte ich wohl gar nicht erst eine Lösung vorgeschlagen, weil ich nicht weiß, wie man solche Namen "auflösen" kann.

Will sagen: Bei dem Problem kann ich dir leider nicht helfen. Und mein 2. Vorschlag mit Doppelnamen funzt dann ja auch nicht.

Kleiner Tipp (gilt für alle, die das hier lesen):

Wenn du eine Frage stellst, achte bitte immer darauf, dass wirklich ALLE erforderlichen Informationen in deiner Beschreibung enthalten sind.

Fehlt nämlich auch nur eine wichtige Info, dann habe ich (und jeder andere, mögliche Antworter) (mal mehr/mal weniger) Zeit, Arbeit und Aufwand in etwas investiert, was letztendlich dann meist doch nicht zum Erfolg führt, oder anders.....für den Arsch ist.

Ciao
Thorsten


  

Betrifft: M.Sc. ist master of science von: WF
Geschrieben am: 12.11.2009 12:50:32

Hi THorsten,

und dieses "Nachtarocken" geht mir auch auf den Zeiger.

Salut WF


  

Betrifft: ich weiß keine Lösung... von: robert
Geschrieben am: 12.11.2009 12:53:00

hi Thorsten,

möchte dir hier voll und ganz beipflichten, leider passiert das sehr oft,

auch das archiv wird viel zu selten vor einer fragestellung durchsucht.

besonder gefällt mir dein letzter satz ;-))

gruß
robert


  

Betrifft: AW: ich weiß keine Lösung... von: Michael
Geschrieben am: 12.11.2009 12:55:48

Hi zusammen,

also die Arbeit war sicher nicht umsonst, es die Lösung von tHorsten ist nahezu perfekt und die wenigen Ausnahmen arbeite ich manuell nach.

Michael


  

Betrifft: puhhh.... :-) von: Oberschlumpf
Geschrieben am: 12.11.2009 13:09:04

...und wieder eine gute Tat getan, Michael

Dann kann ich mich ja für zumindest heute wieder hinlegen :-)

Ciao
Thorsten

P.S.
Danke an die anderen, die mich verstehen.
Danke an WF (fiese Eltern, die ihr Kind sooo nennen :-) ) für die Info, was "M.Sc." bedeutet


  

Betrifft: AW: puhhh.... :-) von: Höttl Wilfried
Geschrieben am: 12.11.2009 17:58:08

Hallo!

Hier eine Formellösung die ich gefunden habe.

Name4

 ABCDEFGHI
1Titel und Name trennen        
2auf vier Spalten aufteilen        
3Voller NameTitel VornameNameAdelsprädikat    
4Dr. Dr. Wilfried HöttlDr. Dr.WilfriedHöttl   vonDr.
5Anna Huber AnnaHuber   vanProf.
6Dr. jur. Petra HeinzlDr. jur.PetraHeinzl   van derProf. Dr.
7Anna Marlen Borchardt Anna MarlenBorchardt    Dr. jur.
8Karl Maria von Weber Karl Maria vonWebervon    Frau
9Fritz Graf zu Eulenburg Fritz Graf zuEulenburg    Ms
10Gräfin Charlotte von der Lippe Gräfin Charlotte von derLippevon    Ing.
11Prof. Dr. Franz ob der TauberProf. Dr.Franz ob derTauber    Mag.
12Fredi Moser FrediMoser    Dr. Dr.
13Frau Renate FeuersteinFrauRenateFeuerstein    AA
14Ing. Kurt SommerIng.KurtSommer    BB
15Mag. Karin EndlMag.KarinEndl    CC
16Prof. Norbert MittermeierProf.NorbertMittermeier     
17CC Robert FuchsCCRobertFuchs     

Formeln der Tabelle
ZelleFormel
B4{=WENN(MAX(WENN((I$4:I$16>"")*ISTZAHL(SUCHEN(I$4:I$16;A4)*1); ZEILE($1:$12); ))=0;"";INDEX(I$4:I$16;MAX(WENN((I$4:I$16>"")*ISTZAHL(SUCHEN(I$4:I$16;A4)*1); ZEILE($1:$12); ))))}
C4=TEIL(A4;LÄNGE(B4)+(B4>"")+1;LÄNGE(A4)-LÄNGE(B4&D4)-(B4>"")-1)
D4{=TEIL(A4;MAX((TEIL(A4;SPALTE(1:1); 1)=" ")*SPALTE(1:1))+1;999)}
E4{=WENN(MAX(WENN((H$4:H$13>"")*ISTZAHL(SUCHEN(H$4:H$13;A4)*1); ZEILE($1:$10); ))=0;"";INDEX(H$4:H$12;MAX(WENN((H$4:H$13>"")*ISTZAHL(SUCHEN(H$4:H$13;A4)*1); ZEILE($1:$10); )))&" ")}
Enthält Matrixformel:
Umrandende
{ } nicht miteingeben,
sondern Formel mit STRG+SHIFT+RETURN abschließen!
Matrix verstehen


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4


Gruß
Wilfried


  

Betrifft: AW: ich weiß keine Lösung... von: Michael
Geschrieben am: 12.11.2009 12:54:26

Hallo Thorsten,

das ist kein Problem, dann nehm ich die manuell raus. Du hast natürlich recht mit den Anforderungen. das Problem ist nur, dass es sich um eine Datei mit mehreren Tausend Namen handelt und man da nicht alle Eventualitäten auf den ersten Blick sieht. Ich danke Dir für Deine Mühe.

Michael


  

Betrifft: Wer lesen kann ist klar im Vorteil ! von: WF
Geschrieben am: 12.11.2009 11:32:46

Hi Michael,

nimm die Arrayalternative.

Bei unserer Erläuterung heiß es:
".... und trennt auch Namen in Kleinbuchstaben."
Und das ist Dein "med."

Salut WF




http://www.excelformeln.de/
die ultimative Formelseite


  

Betrifft: AW: Wer lesen kann ist klar im Vorteil ! von: Michael
Geschrieben am: 12.11.2009 11:38:24

Nein, es funktioniert aber leider nicht. Wenn ich die Formel anwende, passiert folgendes:

Wenn "Dr. med. Thomas Mustermann", also mit Leerzeichen zwischen Dr. und med. da steht erhalte ich:

"Dr." hier fehlt das med.

steht da "Dr.med. Thomas Mustermann", also ohne Leerzeichen zwischen Dr. und med. , erhalte ich:

"Dr.med. Thomas", hier ist das Thomas zuviel.


  

Betrifft: dann willst Du was anderes von: WF
Geschrieben am: 12.11.2009 11:48:02

dennoch:
Dr. med. Thomas Mustermann - also mit Leerzeichen wird zu
Dr. med. Thomas / Mustermann
funktioniert also

Und wenn Du Thomas Mustermann zusammen haben willst - also nur den akademischen Grad separieren, ist das ne ganz andere Aufgabenstellung.


  

Betrifft: AW: dann willst Du was anderes von: Michael
Geschrieben am: 12.11.2009 11:51:19

Hallo, ja, das hatte ich doch geschrieben. Ich möchte folgendes trennen:

Dr. med.
Thomas
Mustermann

jeweils in eine Zelle.

Grüße
Michael


Beiträge aus den Excel-Beispielen zum Thema "Vornamen, Nachnamen und Titel trennen"