Clever-Excel-Forum

Normale Version: Mehrere Texte gleich trennen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hey,

ich bekomme vom Kunden immer eine bestimmte Liste geschickt, die ich manuell trennen muss.
Die Beispieldatei ist das original und ich brauch es so abgeändert:
EMCU 163 899-6

EGSU 918 353-1

EISU 931 282-2

EMCU 838 736-2

EGHU 938 964-2
EGHU 938 964-2

FFAU 167 388-4
FFAU 167 388-4
FFAU 167 388-4
FFAU 167 388-4
FFAU 167 388-4

Sprich "TTTT ZZ ZZZ-Z"

Wie kann ich Zellen markieren und gleichzeitig abändern ohne alles einzeln anzuklicken?
Hi,

=LINKS(A3;4)&TEXT(--RECHTS(A3;7);" 000 000-0")
Hi Helmut,

vielen Dank. Geht das nicht einfacher über - Zellen Formartieren -> Benutzerdefiniert?
Nein. Mit Zellformaten kannst du nur Zahlen beeinflussen. Bei Texten kannst du nur feste Strings vorne oder hinten hinzufügen.
Hallo,

mit Text in Spalten kann man leider nicht vorgeben, dass nur das erste Leerzeichen als Trenner benutzt werden sollen.
Eine Möglichkeit wäre daher mit Power Query zu arbeiten.
Alternativ mit VBA.
Hier wenn Text in Spalte A und dieser soll aufgeteilt in Spalte B und Spalte C.

Code:
Sub TextAufteilen()
    Dim letzteZeile As Long
    Dim text As String
    Dim erstesLeerzeichen As Integer
    Dim teil1 As String
    Dim teil2 As String
    Dim i As Long
   
    ' Letzte Zeile in Spalte A ermitteln
    letzteZeile = Cells(Rows.Count, "A").End(xlUp).Row
   
    ' Schleife über alle Zeilen mit Daten in Spalte A
    For i = 2 To letzteZeile ' Start bei Zeile 2, da Zeile 1 die Überschriften sein könnte
        ' Text aus aktueller Zeile lesen
        text = Range("A" & i).Value
       
        ' Position des ersten Leerzeichens finden
        erstesLeerzeichen = InStr(text, " ")
       
        ' Text in zwei Teile aufteilen
        teil1 = Left(text, erstesLeerzeichen - 1)
        teil2 = Mid(text, erstesLeerzeichen + 1)
       
        ' Ergebnisse in die entsprechenden Zellen schreiben
        Range("B" & i).Value = teil1
        Range("C" & i).Value = teil2
    Next i
End Sub
Moin!
Zunächst mal würde ich exakt wie Helmut (HKindler) vorgehen.
(25.05.2023, 14:56)winkla10 schrieb: [ -> ]Wie kann ich Zellen markieren und gleichzeitig abändern ohne alles einzeln anzuklicken?
Das geht nur mittels VBA!
Markiere die Spalte A ab A3 (Leerzellen können mitmarkiert werden).
Dann lässt Du folgendes Makro laufen:
Code:
Sub specialFormat()
Dim Cell As Range
For Each Cell In Selection.SpecialCells(xlCellTypeConstants)
  If Cell Like "???? ??? ???-?" Then
  Else
    Cell = Format(Cell, "@@@@ @@@ @@@-@")
Next
End Sub
Gruß Ralf