Namen trennen

  • Themenstarter Themenstarter dPo2000
  • Beginndatum Beginndatum
D

dPo2000

ich benutze Excel 2000 und muß da ganze Namen in Vor- und Nachnamen trennen. Alle Namen stehen in einer Reihe... hat das schonmal jemand von euch gemacht oder einen Tip für mich ? (Das Dumme ist auch das die Namen mit einem Komma ODER einem Leerzeichen unterteilt sind ["Mustermann, Max" & "Mustermann Max")

Vielen Dank im voraus
dPo

:rolleyes:
 
Lass die Funktion Instr() nach einem Komma suchen, wenn eines gefunden wird, bekommst Du dessen Position im String zurück, wenn nicht ist der Rückgabewert 0 - dann muss das Leerzeichen als Trennzeichen herhalten.
 
Zuletzt bearbeitet:
wie wäre es hiermit?
Code:
Function trenne_namen(namen, teil)
namen=trim$(namen)
'1
If InStr(1, namen, ",") > 0 Then
    x = Split(namen, ",")
Else
    x = Split(namen, " ")
End If

'2
If teil = 1 Then
    trenne_namen = Trim$(x(0))

'3
ElseIf teil = 2 Then
    For i = 1 To UBound(x)
        temp = temp & x(i) & " "
    Next
    trenne_namen = Trim$(temp)
End If
End Function

ok zugegeben das kann man bestimmt noch besser machen aber es funktioniert.

aufgerufen wird das ganze mit
"=trenne_namen(a1;1)" für den vornamen von a1
"=trenne_namen(a1;2)" für den nachnamen von a1

zu den kommentaren

'1
hier wird geprüft ob sich ein komma innerhalb des feldes befindet wenn ja dann wird die funktion split mit dem komma aufgerufen wenn nicht dann split mit dem leerzeichen.

'2
wenn es nur der vorname sein soll dann geben wir einfach den wert von x(0) aus was (hoffentlich) der vorname sein sollte.

'3
sollte der nachname selber auch noch mal durch ein leerzeichen getrennt (z.b.: Carolin Muster Frau) sein muß er wieder zusammen gesetzt werden.

mfg bartman336
 
hey danke ! soviel resonanz hatte ich gar nicht erwartet ;]

auf jeden fall danke für alle die mir geholfen haben (insbesondere bart) ! ich werd mich mal ransetzen und heute n8 bisschen machen...


mFg
dPo :)
 
ich habe auch so ein prob - nur ist es bei mir mit pfaden ... ich habe einen kompletten pfad und möchte den in pfad und datei teilen...

das am anfang C:\ ... \ steht und in der nächsten zelle test.xls ...

hat einer ne idee?
 
Hier kannst du die InStrRev-Funktion verwenden. Das ist praktisch die gleiche wie InStr, nur dass sie von hinten in einem String nach dem ersten vorkommen eines anderen Strings sucht.
 
Schau mal ob es die Funktion InStrRev gibt, diese sucht in der Zeichenkette von Rechts nach links. Dann brauchst du nur nach letzen \ suchen.
Wenn es das nicht gibt musst du mit InStr auskommen und solange suchen bis du kein weiteres \ Zeichen findest.
 
ja sehr toll - das hat mir mein chef auch gesagt - und so weit bin ich auch schon selber gekommen - aber ich hab keinen plan wie ich das proggen soll ...

ich danke aber für die hilfe ^^
 
Ist doch simpelst :-)

ungefähr so:
Visual Basic:
     if len(Trim(pfad)) > 0 then
        pos = InStrRev(pfad)
        if pos > 0 then
             ordner = Left(pfad, pos)
             datei = Right(pfad, len(pfad) - pos + 1)
        end if
     end if
 

Neue Beiträge

Zurück