Anzahl Leerzeilen einfügen nach Vorgabe

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Anzahl Leerzeilen einfügen nach Vorgabe

Re: Anzahl Leerzeilen einfügen nach Vorgabe

von Karolus » Mi, 03.02.2016 02:24

hallo

Hier ein wenig Code der die Anzahl der einzufügenden Zeilen aus den Einträgen im selektierten Bereich ausliest:

Code: Alles auswählen

def insert_rows_from_selection():
    doc = XSCRIPTCONTEXT.getDocument()
    sel = doc.CurrentSelection
    data = tuple(zip(*sel.DataArray))[0]

    start = sel.RangeAddress.StartRow
    sheet = sel.Spreadsheet
    for i, val in reversed(
                  tuple(
                  enumerate(
                    data, start+1 ))):
        if val:
            sheet.Rows.insertByIndex(i, int(val))
Ja -- das ist Python -- in Basic ist mir das zu verschwurbelt

Re: Anzahl Leerzeilen einfügen nach Vorgabe

von echo » Mi, 03.02.2016 01:29

Hallo
"zu Fuß" geht das aber auch einfacher:
ich würde wahrscheinlich die vorhandenen Zeilen in einer Hilfsspalte zB. im 100ter-Schritten durch nummerieren.
Die Daten die dazu kommen kopiere ich einfach unter den Datensatz.
In der Hilfsspalte bekommen sie eine Nummerierung 101 bis 199 um sie unter der ersten Zeile zu platzieren
Anschließend wird der ganze Datensatz nach der Hilfsspalte sortiert, fertig

Gruß Holger

Re: Anzahl Leerzeilen einfügen nach Vorgabe

von Stephan » Di, 02.02.2016 10:06

z.B. folgendes Makro tut das:

Code: Alles auswählen

Sub Main
	tmp = ThisComponent.getCurrentSelection.RangeAddress.StartRow
	anzahl = inputbox ("Wieviele Zeilen?", "Zeilen einfügen") 
	With ThisComponent.CurrentController.ActiveSheet
		.Rows.insertByIndex(tmp, anzahl)
	End With
End Sub
Nicht sehr elegant mit der Inputbox und auch ohne Fehlerroutinen, erfüllt aber prinzipiell seinen Zweck


Gruß
Stephan

Re: Anzahl Leerzeilen einfügen nach Vorgabe

von paljass » Di, 02.02.2016 08:36

Hi,
du markierst so viele Zeilen, wie du Leerzeilen einfügen möchtest - beginnend mit der Zeile, über der die Leerzeilen eingefügt werden sollen.
Anschließend wählst du "Einfügen - Zeilen" und fertig.
ie jeweilige Anzahl könnte ich auch hilfsweise in die erste Spalte der betreffenden Zeile eingeben, damit sie dort ausgelesen werden kann)?
Das geht dann nur per Makro - da müsstest du dich mal ans Forum für Programmierung wenden.

Gruß
paljass

Nach oben