Danke!
Works like a charm
🍀 Das LibreOffice Forum braucht HEUTE Ihre Hilfe! 🍀
❤️ Spenden Sie jetzt und sichern Sie die Zukunft unseres LibreOffice-Forums ❤️
Ihre Spende hilft, die Community offen, werbefrei (bei Registrierung) und lebendig zu halten. Vielen lieben Dank!
>> Das LibreOffice-Forum lebt von Ihnen – und von vielen Experten, die freiwillig und kostenlos ihr Wissen teilen.<<
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.
[gelöst] Merge von Feldern per Makro
Re: Merge von Feldern per Makro
Komisch, bei der nächsten Datei meckert die Makroausführung an, die Zeile "if zusammen<>"" then" enthalte einen unzulässigen Wert oder unverträglichen Datentyp. Alle Felder der Spalte sind aber als String definiert.mikele hat geschrieben: ↑Mo 7. Jul 2025, 21:05Hallo,
mit folgendem Makro werden die Inhalte der Zellen der Spalte K zusammengetragen, wenn die entsprechenden Zellen in A verbunden sind und in die erste Zeile gesetzt. Die anderen Zeilen werden gelöscht.Code: Alles auswählen
Sub zellbereich_unmerge 'Zugriff auf das Dokument oDoc=ThisComponent 'Zugriff auf die erste Tabelle oTab=oDoc.Sheets(0) 'Gehe zur letzten benutzten Zelle oCur=oTab.createCursorByRange(oTab.Columns(0)) oCur.gotoEndOfUsedArea(False) vonzeile=oCur.RangeAddress.StartRow 'Durchlaufe die Spalte A bis zum Anfang und beseitige alle verbundenen Bereiche do while vonzeile>-1 zelle=oTab.getCellByPosition(0,vonzeile) oCur=oTab.createCursorByRange(zelle) oCur.collapseToMergedArea() vonzeile=oCur.RangeAddress.StartRow biszeile=oCur.RangeAddress.EndRow zusammen="" if biszeile>vonzeile then for i=0 to biszeile-vonzeile if otab.getCellByPosition(10,vonzeile+i).String<>"" then zusammen=zusammen & otab.getCellByPosition(10,vonzeile+i).String & "; " end if next if zusammen<>"" then zusammen=left(zusammen,len(zusammen)-2) end if otab.getCellByPosition(10,vonzeile).String=zusammen oTab.Rows.removeByIndex(vonzeile+1,biszeile-vonzeile) end if vonzeile=vonzeile-1 loop End Sub
Re: [gelöst] Merge von Feldern per Makro
Hallo,
nun wäre es spannend herauszufinden, in welcher Zeile der Fehler auftritt.
Dazu kannst du die Variablen vonzeile zu beobachten oder per msgbox anzeigen zu lassen.
nun wäre es spannend herauszufinden, in welcher Zeile der Fehler auftritt.
Dazu kannst du die Variablen vonzeile zu beobachten oder per msgbox anzeigen zu lassen.
Gruß,
mikele
mikele
An alle, die das LibreOffice-Forum gern nutzen:
Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das laufende.
Einfach per Kreditkarte oder PayPal. Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.
❤️ Vielen lieben Dank für Ihre Unterstützung ❤️