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
Dim
LTrennung
As
Long
Dim
Trennungen
As
Variant
Set
WS = ActiveSheet
Trennungen = Array(
"etc."
,
"usw."
,
"ggf."
)
TextKomplett = WS.Range(
"A1"
)
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)
If
Right(Satz, LTrennung) = Trennung
Then
TrennungErkannt =
True
Exit
For
End
If
Next
Idx
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