|  
                                             
	Hallo Alex, 
	hier mal auf die Schnelle zusammengeschrieben und mit einem Beispieltext getestet. 
	Der Text wird in der aktuellen Tabelle in der Zelle "A1" erwartet. 
	Ab Zeile 3 werden dann die einzelnen Texte ausgegeben. 
	Ist nicht schön, aber funktioniert ganz gut. Die Trennungen können erweitert werden. 
	Diese werden einzeln am erkannten Satzende überprüft. Verschiedene Längen der 
	Trennungen spielen keine Rolle. Allerdings werden nur Trennungen mit einen PUNKT 
	am Ende gefunden. 
	Vielleicht reicht dir das so. Notfalls kannst du es als Beispiel für Erweiterungen nehmen. 
	Gruß 
	Ein TestGast 
	  
	--- Makro --- 
	  
Option Explicit
Sub SätzeTrennen()
    Dim WS As Worksheet
    
    Dim TrennungErkannt As Boolean
    
    Dim TextKomplett As String
    Dim Zeichen As String
    Dim Trennung As String
    Dim Satz As String
        
    Dim Zeile As Long
    Dim Pos As Long
    Dim PosBeginn As Long
    Dim Idx As Long         'Index der Trennungen
    Dim LTrennung As Long   'Länge der Trennung
    
    Dim Trennungen As Variant
    
    'Aktive Tabelle nutzen
    Set WS = ActiveSheet
    
    'Trennungen in Array
    Trennungen = Array("etc.", "usw.", "ggf.")
    
    'Text aus Zelle A1 der aktiven Tabelle
    TextKomplett = WS.Range("A1")
    
    'Beginn der Ausgabe in Zeile 3
    Zeile = 3
    PosBeginn = 1
    For Pos = 1 To Len(TextKomplett)
        Zeichen = Mid(TextKomplett, Pos, 1)
        
        If Zeichen = "!" Or Zeichen = "?" Then
            WS.Cells(Zeile, 1) = Mid(TextKomplett, PosBeginn, Pos - PosBeginn + 1)
            PosBeginn = Pos + 2
            Zeile = Zeile + 1
        
        ElseIf Zeichen = "." Then
            TrennungErkannt = False
            For Idx = LBound(Trennungen) To UBound(Trennungen)
                Trennung = Trennungen(Idx)
                LTrennung = Len(Trennung)
                Satz = Left(TextKomplett, Pos)
                
                'Prüfung ob die Trennung am Ende des erkannten Satzes steht
                If Right(Satz, LTrennung) = Trennung Then
                    TrennungErkannt = True
                    Exit For
                End If
            Next Idx
            
            'Keine der Trennungen wurde erkannt, Satz ist beendet
            If TrennungErkannt = False Then
                WS.Cells(Zeile, 1) = Mid(TextKomplett, PosBeginn, Pos - PosBeginn + 1)
                PosBeginn = Pos + 2
                Zeile = Zeile + 1
            End If
        End If
    Next Pos
    
    Set WS = Nothing
End Sub
	  
     |