3.2k Aufrufe
Gefragt in Tabellenkalkulation von wolpi27 Einsteiger_in (15 Punkte)
Hallo liebes Forum,

ich hab folgende Problem. Ich habe eine Tabelle.
In A1 steht ein Text mit unterschiedlicher länge (zb. 65 Zeichen lang).
Nun muß ich die Zeile A1 so aufteilen, das der Text nach 35 Zeichen nach A2 geschrieben wird. Es sollte aber kein zusammengeschriebenes Wort getrennt werden.
wie kann ich das am besten anstellen?

Gruß Wolpi27

8 Antworten

0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi all ^^

hatte wohl langeweile *hihi*

gruss nighty

p.s.
ich denke mir da gibt es sicherlich richtige formel loesungen fuer :-))

Function WortTren(Zellen As Range, Laenge As Integer) As String
Dim Zelle As Range
Dim ZeichenD As Integer
Dim schalter As Boolean
Dim ArrIndex As Integer
ReDim ArrWort(Len([Zellen])) As String
ArrIndex = 1
Application.Volatile
If Laenge > Len(Zellen) Then Laenge = Len(Zellen)
For ZeichenD = 1 To Len([Zellen])
If Mid([Zellen], ZeichenD, 1) Like "[A-Za-zßÄäÖöÜü]" = True Then
ArrWort(ArrIndex) = ArrWort(ArrIndex) & Mid([Zellen], ZeichenD, 1)
schalter = True
End If
If schalter = True And Mid([Zellen], ZeichenD, 1) Like "[A-Za-zßÄäÖöÜü]" = False Then
ArrIndex = ArrIndex + 1
schalter = False
ArrWort(ArrIndex) = ArrWort(ArrIndex) & " "
End If
Next ZeichenD
For ZeichenD = 1 To Len([Zellen])
If ArrWort(ZeichenD) <> "" Then
If Len(WortTren + ArrWort(ZeichenD)) < Laenge + 1 Then
WortTren = WortTren + ArrWort(ZeichenD)
Else
Exit For
End If
End If
Next ZeichenD
End Function
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi all ^^

so lautet die syntax o_o

=WortTren(A1;11)

die elf waere hier die angabe der zeichenlaenge

gruss nighty
0 Punkte
Beantwortet von wolpi27 Einsteiger_in (15 Punkte)
Hi nighty,

danke erstmal für deine antwort.
irgendwie schein ich mich zu doof anzustellen.
wenn ich den vba code vba einfüge, bekomme ich immer die meldung: fehler beim kompilieren: end sub erwartet.

gruß wolpi
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi wolpi ^^

das ist kein makro wie du es vielleicht kennst :-)

gruss nighty

die function gehoert in ein allgemeines modul

alt + f11 oeffnet dir den vb editor

einfuegen allgemeines modul

die function dann dort einfuegen
,vbed schliessen

die function steht nun unter einfuegen function benutzerdefiniert zur verfuegung mit dem namen der function,der da waere WortTren

das sollte dann auch klappen :-))

probier dich mal nochmal ^^
0 Punkte
Beantwortet von wolpi27 Einsteiger_in (15 Punkte)
hi nighty,

danke klappt soweit.
hab es auch schon ein wenig modifiziert. Nur schreibt er mir die abegtennten zeichen nicht in neben an liegende spalte.

woran hängt das?
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi all ^^

was spricht dagegen die formel in deiner wunschspalte zu plazieren :-))

gruss nighty
0 Punkte
Beantwortet von wolpi27 Einsteiger_in (15 Punkte)
hi nighty,

das habe ich gemacht.

beispiel:

spalte a1

das ist ein test mit mehr als 35 zeichen

formel in spalte b1

ergebnis: das ist ein test mit mehr

nun hätte ich aber gerne das der rest also " als 35 Zeichen" automatisch in die spalte nebenan geschrieben wird.

Gesamtergebnis = b1 " das ist ein test mit mehr" c1 "als 35 Zeichen"

das bekomme ich nicht hin
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi wolpi27 ^^

fuer den rest waere das eine variante

gruss nighty

ich und formeln *huch*

=RECHTS(A1;LÄNGE(A1)-LÄNGE(B1))
...