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

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: [GELÖST] Makro um Namen zu platzieren nach Reihenfolge

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

von F3K Total » Do, 19.01.2023 05:56

Re: Makro um Namen zu platzieren nach Reihenfolge

von DerTiggr » Mi, 18.01.2023 19:57

Jaaaaaaaaaa... vielen Dank, bin begeistert. Jetzt geht alles und läuft wie geschmiert.

Vielen Dank...

Re: Makro um Namen zu platzieren nach Reihenfolge

von F3K Total » Mi, 18.01.2023 17:15

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
Dateianhänge
GupyPally.ods
(62.81 KiB) 65-mal heruntergeladen

Re: Makro um Namen zu platzieren nach Reihenfolge

von DerTiggr » Mi, 18.01.2023 16:39

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

von F3K Total » Mi, 18.01.2023 15:39

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
Dateianhänge
GupyPally.ods
(67.53 KiB) 69-mal heruntergeladen

Re: Makro um Namen zu platzieren nach Reihenfolge

von DerTiggr » Mi, 18.01.2023 06:42

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

von F3K Total » Mi, 18.01.2023 06:29

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

von DerTiggr » Di, 17.01.2023 20:57

...stimmt, durch eigene Bilder war die Datei zu groß. Habe die Bilder mal rausgenommen ;)
Dateianhänge
GupyPally.ods
(56.93 KiB) 72-mal heruntergeladen

Re: Makro um Namen zu platzieren nach Reihenfolge

von F3K Total » Di, 17.01.2023 20:27

... dann lade die Datei mal hoch...

Re: Makro um Namen zu platzieren nach Reihenfolge

von DerTiggr » Di, 17.01.2023 19:55

Habe es jetzt nochmal probiert und es geht leider nicht. Gelöscht werden die Daten aber die Namen wechseln nicht die Positionen.

Re: Makro um Namen zu platzieren nach Reihenfolge

von F3K Total » Di, 17.01.2023 19:51

Moin,
nein austauschen ist richtig.Von Sub bis End Sub.
Bei mir lief es vorhin.
Bin nicht mehr am Rechner.
Gruß R

Re: Makro um Namen zu platzieren nach Reihenfolge

von DerTiggr » Di, 17.01.2023 19:35

Danke F3K Total
habe jetzt die entsprechenden Teile ausgetauscht (oder musste das dazu?) Jetzt jetzt werden die Namen aber nicht mehr getausch. Muss man was bestimmtes als Spielername für die Platzhalter eingeben?

Re: Makro um Namen zu platzieren nach Reihenfolge

von F3K Total » Di, 17.01.2023 16:33

Hallo Tiggr,
habe das Makro Sort_by_descriptor jetzt so umgebaut, dass es mit weniger als vier Spielern funktioniert.
Die Sortierreihenfolge kannst du wie gehabt einstellen.

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 = 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

von DerTiggr » Mo, 16.01.2023 19:17

Hab es gefunden und es hat geklappt. Gerade mal gespielt und getestet und es geht für alle 4 Spiele. Es sieht sooooo gut aus. Ohne dich hätten wir es nie geschafft.

Gibt aber trotzdem noch ein Problem... Man ist ja nicht immer 4 Spieler, meist 2 oder 3. Die Sortierung geht aber nur wenn alle Spieler ausgefüllt sind.

Steht bei Name Spieler, darf es nicht in die Sortierung aufgenommen werden. Geht das?

Re: Makro um Namen zu platzieren nach Reihenfolge

von F3K Total » Mo, 16.01.2023 18:20

Hallo Tiggr,
in meinem Makro sub Sort_by_descriptor(oSheet) gibt es folgnde Zeile:

Code: Alles auswählen

osf1.SortAscending = false
wenn du sie auf

Code: Alles auswählen

osf1.SortAscending = true
änderst, drehst du die Sortierreihenfolge um.

Gruß R

Nach oben