Hallo
Lösung mit python für libreoffice >= Version 5.1
Selektiere den zweispaltigen Ausgangsbereich und starte:
Code: Alles auswählen
def repeat_entries():
calcdoc = XSCRIPTCONTEXT.getDocument()
sel = calcdoc.CurrentSelection
out = []
for entry, count in sel.DataArray:
out.extend((entry,)*int(count))
out = tuple(zip(out))
target = calcdoc.Sheets.getByName('Ausgabe')
target[ :len(out), 0].DataArray = out
Variante für AOO und LO allgemein:
Code: Alles auswählen
def repeat_entries():
calcdoc = XSCRIPTCONTEXT.getDocument()
sel = calcdoc.CurrentSelection
out = []
for entry, count in sel.DataArray:
out.extend((entry,)*int(count))
out = tuple(zip(out))
target = calcdoc.Sheets.getByName('Ausgabe')
target.getCellRangeByPosition(0, 0, 0, len(out)-1 ).DataArray = out