Folgendes Problem: Ich habe von einem Forum-User (Steffen) ein VBA Code bekommen der anscheinend nur einmal läuft !
Der Code Teilt mir ein Text in einer Zelle bei mehr als 140 Zeichen mit ganzer Wortberücksichtigung und schreibt den Rest in die Nächste usw.
Wenn ich nun die erste Zelle lösche oder die zweite, welche auch immer, und ich einen anderen Text reinschreibe der wieder mehr als 140 Zeichen hat, teilt Excel mir die Zelle nicht mehr.
Warum ???
Hier der Code von Steffen :
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error Resume Next
temp = Target.Value
länge = Len(temp)
If Target.Column = 1 Then
If länge = 0 Then Exit Sub
If länge > 140 And länge <= 280 Then
trennen = InStr(130, temp, " ", vbTextCompare)
erste = Left(temp, trennen)
zweite = Right(temp, länge - trennen)
End If
If länge > 280 And länge <= 420 Then
trennen = InStr(130, temp, " ", vbTextCompare)
trennen2 = InStr(270, temp, " ", vbTextCompare)
erste = Left(temp, trennen)
zweite = Mid(temp, trennen + 1, trennen2 - trennen)
dritte = Right(temp, länge - trennen2)
Else
dritte = ""
vierte = ""
End If
If länge > 420 Then
trennen = InStr(130, temp, " ", vbTextCompare)
trennen2 = InStr(270, temp, " ", vbTextCompare)
trennen3 = InStr(400, temp, " ", vbTextCompare)
erste = Left(temp, trennen)
zweite = Mid(temp, trennen + 1, trennen2 - trennen)
dritte = Mid(temp, trennen2 + 1, trennen3 - trennen2)
vierte = Right(temp, länge - trennen3)
Else
vierte = ""
End If
Target.Value = erste
Target.Offset(1, 0).Value = zweite
Target.Offset(2, 0).Value = dritte
Target.Offset(3, 0).Value = vierte
Else
Exit Sub
End If
Application.EnableEvents = True
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
Für Hilfe wäre ich sehr Dankbar
Gruß Michi