Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zusammenführen von Text

Forumthread: Zusammenführen von Text

Zusammenführen von Text
08.06.2020 09:50:48
Text
Hallo Zusammen
Ich komme mit meinem Excel VBA Code nicht weiter.
Ich habe in der Spalte A mehrere Zellen mit verschiedenen Textinhalten.
Die meisten Texte haben zwischendrin leere Zellen. Andere sind folgend untereinander ohne leere Zellen. Es sind immer unterschiedlich viel Texte untereinander.
Ich möchte gerne eine Abfrage starten, welche mir diese Texte zusammenfügen (die keine leere Zellen dazwischen haben) und gleich mit Zeilenumbruch formatieren. Kann mir da jemand weiterhelfen?
Mein bisheriger Code sieht folgendermasen aus:

Sub StufeLöschen()
Dim LoLetzte As Long
Dim LoI As Long
With Worksheets("Tabelle2")
'Letzte Zeile definieren
LoLetzte = IIf(IsEmpty(.Cells(.Rows.Count, 1)), _
.Cells(.Rows.Count, 1).End(xlUp).Row, .Rows.Count)
For LoI = 2 To LoLetzte
'Allgemeine Änderungen
If Left(.Cells(LoI, 1), 5) = "Stufe" Then
.Cells(LoI, 1).Delete
End If
Next LoI
End With
End Sub

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Zellen löschen von unten!!! owT
08.06.2020 09:53:23
unten!!!
AW: Zusammenführen von Text
09.06.2020 10:44:49
Text
Hallo Luca
ich habe deinen Code mal etwas überarbeitet ubd verweise auf den Hinweis von Rudi! Zum Löschen brauchst du eine Rückwärtsschleife, das geht nicht vorwärts! s. Rudi
Text zusammenfassen geht aber besser vorwärts. beides kombinieren ist schwierig! Meine Lösung ist den Text in Spalte B zusammenfassen, nach dem Prüfen kannst du Spalte A löschen.
mfg Piet
Sub Text_Zusammenfassen()
Dim LoLetzte As Long
Dim LoI As Long, zn As Long
Dim Txt As String, i As Long
With Worksheets("Tabelle2")
zn = 2   'Next Teile in Spalte B
'Letzte Zeile definieren
LoLetzte = IIf(IsEmpty(.Cells(.Rows.Count, 1)), _
.Cells(.Rows.Count, 1).End(xlUp).Row, .Rows.Count)
For LoI = 2 To LoLetzte
'Allgemeine Änderungen
If .Cells(LoI, 1) = "" Then Txt = ""
If .Cells(LoI, 1)  "" Then
Do Until .Cells(LoI, 1) = ""
'       Txt = Txt & .Cells(LoI, 1)           'ohne LineFeed
Txt = Txt & vbLf & .Cells(LoI, 1)    'Mit LineFeed
LoI = LoI + 1
Loop
.Cells(zn, 2) = Txt
zn = zn + 2
Txt = Empty
End If
Next LoI
End With
End Sub
'Zeilen löschen geht fehlerfrei nur mit Rückwärtsschleife!!
'** beim löschen verändert sich dauernd die LoI Zeile!!
Sub StufeLöschen()
Dim LoLetzte As Long
Dim LoI As Long
With Worksheets("Tabelle2")
'Letzte Zeile definieren
LoLetzte = IIf(IsEmpty(.Cells(.Rows.Count, 1)), _
.Cells(.Rows.Count, 1).End(xlUp).Row, .Rows.Count)
For LoI = LoLetzte To 2 Step -1
'Allgemeine Änderungen
If Left(.Cells(LoI, 1), 5) = "Stufe" Then
.Cells(LoI, 1).Delete
End If
Next LoI
End With
End Sub

Anzeige
AW: Zusammenführen von Text
09.06.2020 12:59:06
Text
Hat wunderbar funktioniert!
Vielen Dank Piet
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige