Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1164to1168
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Text splitten in Zellen nebeneinander
Ewald
Hallo
habe ein Makro aus diesem Forum das Text aus einer mehrzeiligen Textbox aufsplittet jeweils in eine Zelle.
Das funktioniert auch bis auf eine Sache.
Es schreibt den Text in Zellen untereinander (A1:A3), brauche aber Zellen nebeneinander (A1:C1)
Vielleicht hat ja jemand eine Lösung
Ach ja, das Makro
Sub Split_TBZ()
Dim arr As Variant
arr = Split(breakText(ActiveSheet.TextBox1, 27), vbLf) 'Parameter (Text, länge)
ActiveSheet.Range(Cells(1, 1), Cells(UBound(arr, 1) + 1, 1)) = Application.Transpose(arr)
End Sub
die zugehörige Funktion
Public Function breakText(ByVal text As String, ByVal länge As Integer) As String
Dim tmp As String, str As String
Dim lenT As Integer, i As Integer, n As Integer
lenT = Len(text)
n = 1
i = 1
Do
tmp = Mid(text, i, länge)
If lenT - i >= länge Then
n = Len(tmp) - InStr(1, StrReverse(tmp), " ") + 1
Else
n = Len(tmp)
End If
str = str & Trim(Left(tmp, n)) & vbLf
i = i + n
Loop While i 

Gruß Ewald Sadowski
Die Zeile mit Transpose ist entscheidend,...
03.07.2010 11:47:28
Luc:-?
…Ewald,
.Transpose muss weg und die Bereichindizes müssen so gewählt wdn, ass eine Zeile, keine Spalte dabei raus kommt.
Gruß+schöWE, Luc :-?
AW: Die Zeile mit Transpose ist entscheidend,...
04.07.2010 00:30:44
Ewald
Hallo Luc :-?
Transpose muss weg und die Bereichindizes müssen so gewählt wdn, ass eine Zeile, keine Spalte dabei raus kommt
In die Richtung ging auch meine Vermutung
Frage ist nur wie ?
Gruß Ewald Sadowski
AW: Die Zeile mit Transpose ist entscheidend,...
04.07.2010 11:02:37
Peter.H
Hallo Ewald
das sollte so funktionieren...
Sub Split_TBZ()
Dim arr As Variant
arr = Split(breakText(ActiveSheet.TextBox1, 27), vbLf) 'Parameter (Text, länge)
ActiveSheet.Range(Cells(1, 1), Cells(1, UBound(arr, 1) + 1)) = arr
End Sub
Gruß
Peter
Anzeige
AW: Die Zeile mit Transpose ist entscheidend,...
04.07.2010 11:45:51
Ewald
Hallo Peter
danke dir, so funktioniert es
Gruß Ewald Sadowski
AW: Die Zeile mit Transpose ist entscheidend,...
04.07.2010 22:31:06
Ewald
Hallo Peter
muß mich doch noch mal melden, wenn der Texteintrag in A1 beginnt ist alles in Ordnung.
Wenn ich aber in Spalte B anfange, fehlt hinten eine Zeile
Wenn ich in Zeile 2 einfügen will schreibt er den Text 2mal
habe versucht hier umzustellen ActiveSheet.Range(Cells(1, 1),
wie kann man dies jetzt so einstellen, das er zB. bei E9 anfängt den Text reinzuschreiben.
Es sollte also flexibel sein.
Gruß Ewald Sadowski
AW: Die Zeile mit Transpose ist entscheidend,...
05.07.2010 10:13:29
Peter.H
Hallo Ewald
nun wird die aktive Zelle als Ausgangspunkt genommen...
Sub Split_TBZ()
Dim arr As Variant
arr = Split(breakText(ActiveSheet.TextBox1, 27), vbLf) 'Parameter (Text, länge)
With ActiveCell
ActiveSheet.Range(Cells(.Row, .Column), Cells(.Row, .Column + UBound(arr, 1))) = arr
End With
End Sub

Gruß
Peter
Anzeige
AW: Die Zeile mit Transpose ist entscheidend,...
05.07.2010 10:40:33
Ewald
hallo Peter
danke dir, so geht es
Gruß Ewald Sadowski

358 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige