Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
796to800
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
796to800
796to800
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zelle trennen nach Leerzeile

Zelle trennen nach Leerzeile
06.09.2006 15:29:34
artuk
Guten Tag alle zusammen,
folgendes Problemche. In einer Zelle steht bei mir z.b. ein kurzer Satz. Diesen Satz möchte ich nun getrennt haben.
Z.b.
A1
Heute ist ein schöner Tag
Nach der Trennung sollte es dann so aussehen:
A1 B1 C1 D1 E1
Heute ist ein schöner Tag
D.h. es müsste nach jeder Leerzeile zwischen den Wörtern getrennt werden.
Habe hier im Forum ein Makro gefunden welches Zellen trennt aber nicht so wie ich es haben möchte leider. Es trennt nach 35 Zeichen.
Option Explicit
'
' das nachfolgende Makro liest die Texte in Spalte A und teilt diese
' wortgerecht getrennt in maximal 35-stellige Teilstrings in die
' Spalten B, C, D und E auf.
' In Spalte E steht evtl. der Rest, der länger als 35 Stellen sein
' kann und der manuell aufgeteilt werden muss.
'

Sub String_aufteilen()
Dim lZeile     As Long
Dim lLetzte    As Long
Dim iSpalte    As Integer
Dim iLaenge    As Integer
Dim iPosition  As Integer
Dim sZeichen   As String
Dim sHiFeld    As String
Application.ScreenUpdating = False
lLetzte = IIf([A65536] > "", 65536, [A65536].End(xlUp).Row)
For lZeile = 1 To lLetzte
'If lZeile = 3 Then Stop
sHiFeld = Cells(lZeile, 1).Value
iSpalte = 2
Do
iLaenge = Len(sHiFeld)
If iLaenge < 36 Then Exit Do
iPosition = 36
Do
sZeichen = Mid(sHiFeld, iPosition, 1)
If sZeichen <> " " Then iPosition = iPosition - 1
Loop Until iPosition = 1 Or sZeichen = " "
If iPosition > 1 Then
Cells(lZeile, iSpalte).Value = Left(sHiFeld, (iPosition - 1))
Else
Cells(lZeile, iSpalte).Value = Left(sHiFeld, 1)
End If
iSpalte = iSpalte + 1
sHiFeld = Right(Cells(lZeile, 1).Value, iLaenge - iPosition)
Loop Until Len(sHiFeld) = " "
Cells(lZeile, iSpalte).Value = sHiFeld
Next lZeile
Application.ScreenUpdating = True
End Sub

Wie kann man das modifizieren, damit mein Problemchen gelöst werden kann
Vielen Dank im Voraus
mfg
artuk

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelle trennen nach Leerzeile
06.09.2006 15:31:43
Dr.
Hi,
Daten/Text in Spalten hilft Dir nicht weiter?
AW: Zelle trennen nach Leerzeile
06.09.2006 15:36:30
artuk
Hallo Dr.
Nein,leider nicht!
Hier ein kleiner Asuzug aus der Datei (welche normalerweise 33000 Zeilen hat)
https://www.herber.de/bbs/user/36463.xls
Vielen dank im Voraus
mfg
artuk
AW: Zelle trennen nach Leerzeile
06.09.2006 15:56:53
Dr.
Hm, das funktioniert nur nicht, weil die Blanks nicht erkannt werden. Aus welchem Vorsystem stammen denn die Daten?
AW: Zelle trennen nach Leerzeile
06.09.2006 16:02:01
GeorgB
Hallo,
vielleicht hilft Dir das weiter.
Daten stehen in A und Hilfsspalte B.

Sub Aufteilen()
[B1:B30].FormulaR1C1 = "=SUBSTITUTE(RC[-1],"" "","";"")"
[B1:B30].Copy
[A1].PasteSpecial [xlPasteValues]
Application.DisplayAlerts = False
[B1:B130].ClearContents
Columns("A:A").TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1)), _
TrailingMinusNumbers:=True
[F1].Select
End Sub

Grüße
Georg
Anzeige
AW: Zelle trennen nach Leerzeile
06.09.2006 16:12:42
artuk
Hallo,
@ Dr. die Daten stammen aus dem SAP
@Georg: das hilft mir leider auch nicht weiter, da ich die Daten später bearbeiten muss, also zumindestens die Zahlen :(
mfg
artuk
AW: Zelle trennen nach Leerzeile
06.09.2006 16:47:11
Kurt
Hi,
ersetze als erstes alle Chr(160) durch echte Leerzeichen:
Columns("A:A").Replace Chr(160), Chr(32)
Dann kannst du mit text in Spalten weitermachen.
mfg Kurt

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige