EXCEL VBA bestimmte Zeilen verbinden - Hilfe gesucht
Hallo zusammen,
ich arbeite gerade an einem Projekt und ziehe aktuell Daten aus einer OneNote Tabelle in eine Excel. Das Problem ist, dass er Seitenumbrüche in einer Zelle in One Note direkt in eine neue Zeile in Excel legt.
Beispiel
One Note:
Thema1:
Hier steht ein Text
Hier steht auch Text
nach Excel->
Thema 1:
Hier steht ein Text
Hier steht auch ein Text
...die Bindestriche sollen die Trennstriche für Zeilen darstellen.
Nun ist es so, dass ich ein Makro erstellen möche, welches in der Spalte A nach den freien Zeilen Sucht (Jeweils nur ein Inhalt vorhanden; Siehe Bild) und diesen Inhalt in die darüber liegende vollwärtige Zeile implementiert. Im Folgendem Bild habe ich das einmal visualisiert (Blau: Muss zusammengefasst werden in eine Zelle). Nach der Zusammenführung sollte natürlich die dann vollständig leere Zeile entfernt werden.
Ich habe jetzt bereits mehrer Stunden damit verbracht eine Lösung zu finden, jedoch ohne Erfolg, da ich auch noch nicht so vetraut mit VBA bin, hoffe ich hier eine Lösung zu finden.
ich arbeite gerade an einem Projekt und ziehe aktuell Daten aus einer OneNote Tabelle in eine Excel. Das Problem ist, dass er Seitenumbrüche in einer Zelle in One Note direkt in eine neue Zeile in Excel legt.
Beispiel
One Note:
Thema1:
Hier steht ein Text
Hier steht auch Text
nach Excel->
Thema 1:
Hier steht ein Text
Hier steht auch ein Text
...die Bindestriche sollen die Trennstriche für Zeilen darstellen.
Nun ist es so, dass ich ein Makro erstellen möche, welches in der Spalte A nach den freien Zeilen Sucht (Jeweils nur ein Inhalt vorhanden; Siehe Bild) und diesen Inhalt in die darüber liegende vollwärtige Zeile implementiert. Im Folgendem Bild habe ich das einmal visualisiert (Blau: Muss zusammengefasst werden in eine Zelle). Nach der Zusammenführung sollte natürlich die dann vollständig leere Zeile entfernt werden.
Ich habe jetzt bereits mehrer Stunden damit verbracht eine Lösung zu finden, jedoch ohne Erfolg, da ich auch noch nicht so vetraut mit VBA bin, hoffe ich hier eine Lösung zu finden.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 667382
Url: https://administrator.de/forum/excel-vba-bestimmte-zeilen-verbinden-hilfe-gesucht-667382.html
Ausgedruckt am: 15.04.2025 um 16:04 Uhr
5 Kommentare
Neuester Kommentar
Servus @Lukas2444, schön das du den Weg in unser Forum gefunden hast!
Lass mal den folgenden Code über die Tabelle laufen und prüfe ob das Ergebnis deinen Vorstellungen entspricht:
Grüße Uwe
Lass mal den folgenden Code über die Tabelle laufen und prüfe ob das Ergebnis deinen Vorstellungen entspricht:
Sub MergeCells()
Dim cell As Range, rowMerge As Long, rngDel As Range, c As Integer
With Sheets(1)
For Each cell In .Range("A1:A" & .UsedRange.SpecialCells(xlCellTypeLastCell).Row)
If cell.Value = "" Then
If cell.Offset(-1, 0).Value <> "" Then
rowMerge = cell.Row - 1
End If
For c = 1 To .Cells(cell.Row, Columns.Count).End(xlToLeft).Column
If .Cells(cell.Row, c).Value <> "" Then
.Cells(rowMerge, c).Value = .Cells(rowMerge, c).Value & Chr(10) & .Cells(cell.Row, c).Value
.Cells(cell.Row, c).Value = ""
If Not rngDel Is Nothing Then
Set rngDel = Union(rngDel, cell.EntireRow)
Else
Set rngDel = cell.EntireRow
End If
End If
Next
End If
Next
If Not rngDel Is Nothing Then rngDel.Delete
.UsedRange.VerticalAlignment = xlTop
End With
End Sub
Muss ich am Code noch etwas ändern das das z.B. Auf mein Datenblatt bezogen ist (Bei mir Tabelle 11)
Ja musst du, wenn es das Blatt mit der Nummer 11 ist (nach Reihenfolge) dann Zeile 3 an deine Bedürfnisse anpassenWith Sheets(11)
With Sheets("Tabelle11")
With ActiveSheet