Seite 2 von 2

Re: Makro um Namen zu platzieren nach Reihenfolge

Verfasst: Di, 17.01.2023 20:57
von DerTiggr
...stimmt, durch eigene Bilder war die Datei zu groß. Habe die Bilder mal rausgenommen ;)

Re: Makro um Namen zu platzieren nach Reihenfolge

Verfasst: Mi, 18.01.2023 06:29
von F3K Total
Moin,
keine Ahnung weswegen, aber in Zelle D2 auf Tabelle Spielerdaten steht eine Formel, die da nicht hingehört.
Habe ich gelöscht, bei mir funzt es jetzt.

Gruß R

Re: Makro um Namen zu platzieren nach Reihenfolge

Verfasst: Mi, 18.01.2023 06:42
von DerTiggr
Bei mir steht da keine Formel :shock:

kannst du mir die datei zurückschicken? komisch das ganze. hmmm

Re: Makro um Namen zu platzieren nach Reihenfolge

Verfasst: Mi, 18.01.2023 15:39
von F3K Total
Bitteschön,
die Reihenfolge nach der sortiert wird mußt du wohl noch anpassen, aktuell steht da:

Code: Alles auswählen

 osf1.SortAscending = false
also absteigend, willst du aufsteigend sortieren schreib

Code: Alles auswählen

 osf1.SortAscending = true
Gruß R

Re: Makro um Namen zu platzieren nach Reihenfolge

Verfasst: Mi, 18.01.2023 16:39
von DerTiggr
Danke

Ich gebe aber auf und will dich nicht länger damit belästigen. Es geht bei mir irgendwie nicht. Es wird nicht sortiert.

Werde es jetzt aber so lassen. Bzw. Das für 4 Spieler benutzen, vielleicht krieg ich das irgendwie auf 2 und 3 Spieler gebastelt und Speicher dann neue Dokumente.

Vielen Dank trotzdem für deine Hilfe.

Liegt es vielleicht an der Version von openoffice? Habe die aktuellste.

Re: Makro um Namen zu platzieren nach Reihenfolge

Verfasst: Mi, 18.01.2023 17:15
von F3K Total
oh manno,
habe übersehen dass wir hier bei OpenOffice sind.
Ich habe das mit LibreOffice gemacht.
Versuch mal die angehängte Datei.
Da gibt es eine Zahl, die drei in dem Makro muss für OpenOffice auf eins (1) geändert werden:

Code: Alles auswählen

sub Sort_by_descriptor(oSheet)
    dim nColumn as integer
    dim osfs(0) as object
    DIM osf1 as new com.sun.star.util.SortField
    oSortRange = oSheet.getcellrangebyName("C2:D5")
    for j = 0 to 3
        oNameCell = oSortRange.getcellbyposition(0,j)
        if oNameCell.String = "" then 
            bfound = true
            exit for
         endif
    next j
    if bfound = true then 
        oSortRange = oSortRange.GetCellrangebyPosition(0,0,1,j-1)
    endif
    nColumn = 1 '<<<--------------------------------------libreoffice geht auch mit :3
    osf1.field = nColumn
    osf1.SortAscending = false
    osfs(0) = osf1
    oSortDescriptor = oSortRange.createSortDescriptor
    for i = 0 to uBound(oSortDescriptor)
        oProp = oSortDescriptor(i)
        with oProp
            if .Name = "ContainsHeader" then 
                .Value = false
                oSortDescriptor(i) = oProp
            endif
            if .Name = "SortFields" Then 
                .Value = osfs
                oSortDescriptor(i) = oProp
            endif
        end with
    next i
    oSortRange.sort(oSortDescriptor)
end sub
Gruß R

Re: Makro um Namen zu platzieren nach Reihenfolge

Verfasst: Mi, 18.01.2023 19:57
von DerTiggr
Jaaaaaaaaaa... vielen Dank, bin begeistert. Jetzt geht alles und läuft wie geschmiert.

Vielen Dank...

Re: [GELÖST] Makro um Namen zu platzieren nach Reihenfolge

Verfasst: Do, 19.01.2023 05:56
von F3K Total