Bedingtes Transponieren von oo Tabellen [gelöst]

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: Bedingtes Transponieren von oo Tabellen [gelöst]

Re: Bedingtes Transponieren von oo Tabellen

von hansen65 » So, 24.01.2016 17:14

woha, stimmt das wars, funktioniert jetzt einwandfrei.

Allerbesten Dank!!!

Re: Bedingtes Transponieren von oo Tabellen

von F3K Total » So, 24.01.2016 16:52

Na, man muß Makros zulassen, unter Extras/Einstellungen/OpenOffice/Sicherheit/Makrosicherheit -> wenigstens Stufe Mittel
Gruß R

Re: Bedingtes Transponieren von oo Tabellen

von hansen65 » So, 24.01.2016 16:43

Hallo,

super, vielen Dank für eure schnellen Antworten!
Mit der Formel Lösung kann ich arbeiten, das funktioniert sehr gut.

Die Lösung mit dem Makro habe ich nicht zum laufen bekommen, wenn ich auf den Button drücke oder auf Makro ausführen klicke passiert nichts.
Evtl. hast du ja noch eine Idee woran das liegen könnte.

Re: Bedingtes Transponieren von oo Tabellen

von F3K Total » Sa, 23.01.2016 21:52

Hallo Mikele, Chapeau!
Habe, das Makro, an dem ich gearbeitet habe gerade fertig, geht auch, siehe Anlage.

Code: Alles auswählen

Sub Transpose
    aVector = Array(14,15,3,2,6,4,1)
    oSheet = ThisComponent.Sheets.Tabelle1
    oCursor = oSheet.createCursor
    oCursor.gotoEndofUsedarea(false)
    nEndrow = oCursor.Rangeaddress.EndRow
    oSourceRange = oSheet.getcellRangebyPosition(1,0,3,nEndRow)
    adata = oSourceRange.getdataarray
    nBound = adata(uBound(adata))(2)- adata(0)(2)
    oTargetRange = oSheet.getcellrangebyPosition(6,1,12,nBound+1)
    aNewData = oTargetRange.Getdataarray
    nCounter = 0
    aRow = aNewData(nCounter)
    i_old = 1
    for i = 0 to uBound(aData)
        if adata(i)(2) > i_old then 
            aNewData(nCounter) = aRow
            nCounter = nCounter + 1
            aRow = aNewData(nCounter)
        endif
        i_old = adata(i)(2)
        for k = 0 to 6
             if adata(i)(0) = aVector(k) then arow(k) = adata(i)(1)
        next k
    next i
    aNewData(nCounter) = aRow
    oTargetRange.setdataarray(aNewData)
End Sub
Gruß R
Dateianhänge
data-remodel.ods
(13.53 KiB) 147-mal heruntergeladen

Re: Bedingtes Transponieren von oo Tabellen

von mikeleb » Sa, 23.01.2016 20:34

Hallo,

per Formeln ist es machbar. Für meine Lösung ist es wichtig, dass die Originaldaten erst in Zeile 2 beginnen (daher habe ich eine Zeile eigefügt.
Im Target habe ich eine Zeile mit den ID und eine Spalte mit den Nummern eingefügt (kann man formeltechnisch auch noch umgehen oder ausblenden).
Dateianhänge
data-remodel.ods
(15.55 KiB) 106-mal heruntergeladen

Bedingtes Transponieren von oo Tabellen [gelöst]

von hansen65 » Sa, 23.01.2016 19:41

Hallo,

ich habe folgendes Problem, ich würde gerne Daten die derzeit untereinander erscheinen, in einer Reihe darstellen.
Allerdings Sind die Daten recht unvollständig, sie haben allerdings immer einen Wert der sie als Datenset (später Reihe) zusammenfasst und ein Wert, aus dem sich ergibt, in welche Spalte der Wert geschrieben werden muss.

Ich habe das ganze mal als Bild und Tabelle angehängt, evtl. kennt da ja jmd. eine elegante Lösung.
Dateianhänge
data-remodel.ods
(54.17 KiB) 95-mal heruntergeladen
data-remodel.png
data-remodel.png (21.51 KiB) 1615 mal betrachtet

Nach oben