Seite 1 von 2

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

Verfasst: Mi, 11.01.2023 08:27
von DerTiggr
Hallo nochmal an ALLE!

Meine Darttabelle nimmt langsam Form an. Hier mal das Beispiel für ein Spiel. Insgesamt habe ich eigentlich mehr, aber das Prinzip bleibt ja gleich.

Jetzt zu meinem Problem und der Frage, ob es eine Lösung gibt.

Auf dem Spielbogen ( allen Spielbögen), sollen oben die Namen erscheinen. Ist das Spiel vorbei, sollen die Eingabefelder gelöscht werden (dies habe ich alles mit Makro hinbekommen). Jetzt gibt es ein Luxusproblem. Die Namen müssen je nach Platzierung ihren Platz wechseln. Gibt es eine Möglichkeit dies zu realisieren?

Kann man zB ein Makro setzten, der die Namen nach der Reihenfolge (zB von höchsten Wert zu niedrigsten Wert) auf die Spielerdatenseite schreibt und von dortaus werden sie auf die Spieleseiten übertragen. Ein 2. Makro gedrückt und die Spieleinträge werden gelöscht, dann müssten die Namen ja bleiben, oder?

Wir würde man so ein Makro machen? geht das mit Makros aufzeichenen?, weil schreiben kann ich sowas nicht.

Geht das auch in einem Makro? Erst Namen zuweisen, dann Spieldaten löschen?

Habe die Datei mal angehängt und hoffe jemand versteht was ich meine und könnte helfen.

Gruß
DerTiggr

Re: Makro um Namen zu platzieren nach Reihenfolge

Verfasst: Mi, 11.01.2023 08:57
von Mondblatt24

Re: Makro um Namen zu platzieren nach Reihenfolge

Verfasst: Do, 12.01.2023 16:03
von F3K Total
Hallo DerTiggr oder auch Norderjung,

lies doch bitte mal in den allgemeinen Hinweisen zur Forumsbenutzung nach, warum Crossposting nicht so gerne gesehen ist.

Ich habe mir trotzdem, weil ich selber gern Darts spiele, deine Datei zu Gemüte geführt.
Anbei das Ergebnis.
Wenn du auf den Knopf "neue Runde" drückst passiert per Makro folgendes:
  • die aktuelle Punktzahl jeden Spielers wird in Tabelle SPIELERDATEN, Spalte D hinter jedem Spieler eingetragen
  • alle PPDs werden für alle vier Spieler in Tabelle 501 Masters DD_2 gelöscht
  • in Tabelle SPIELERDATEN werden die Spieler neu sortiert, der mit den meisten Punkten wird Spieler 1, der schlechteste Spieler 4

Gruß R

Re: Makro um Namen zu platzieren nach Reihenfolge

Verfasst: Fr, 13.01.2023 10:06
von DerTiggr
Danke für Deine Antwort.

Werde es mir nachher mal anschauen.

Zum Thema Crossposting... ok Asche auf mein Haupt, war ein Fehler und habe es nicht gewusst, dass es nicht erwünscht ist. Habe mir gedacht, so erreiche ich evtl. mehr, da es ja doch spezifisch ist.

Hätte man es mir per PN geschrieben, hätte ich den Post gelöscht. Wäre ja kein Ding gewesen. Mit dem Crosspostingpost war es mir ja nicht mehr möglich zu löschen.

Nur mal ne kurze Frage... Sterben Foren dann nicht aus, wenn man sich aus den 100erten Foren nur eine Aussuchen kann? Was wenn man dort keine brauchbare Antwort erhält? Muss man dann alles umformulieren, damit es kein Crossposting ist? Man kann sein Post ja nicht mehr löschen... Finde es doch etwas Kontraproduktiv.

Ganz wichtig: will mit den Zeilen nicht angreifen, sondern es nur für mich feststellen.

Bin dir trotzdem unendlich dankbar für deine Antwort und hoffe, es löst mein Problem.

Re: Makro um Namen zu platzieren nach Reihenfolge

Verfasst: Fr, 13.01.2023 11:30
von DerTiggr
Vielen Dank F3K Total, das ist genau das was ich gesucht habe.

Wie kann ich dieses Makro für alle Spiele anwenden? Muss ich dann nur im Makro die entsprechenden Bereiche umschreiben? Sorry ist alles absolut neu für mich.

Wir haben noch Highscore, Halfit, Shanghai, Baseball und da soll es genauso sein oder geht es jetzt nur immer pro Seite?

Auch wenn es blöd klingt, wie entferne ich deinen Button? hätte es gerne auf dem Mülleimer :)

Aber als ich auf nächste Runde geklickt habe, war ich schockverliebt XD

Re: Makro um Namen zu platzieren nach Reihenfolge

Verfasst: Fr, 13.01.2023 12:22
von F3K Total
DerTiggr hat geschrieben: Fr, 13.01.2023 11:30 Wie kann ich dieses Makro für alle Spiele anwenden?
Moin,
das wird vermulich nich ganz einfach, ich habe die Tabelle SPIELERDATEN geändert, weil die unnötigen Leerzeilen zwischen den Spielern das Makro verkompliziert hätten. Grundsätzlich ist es einfacher das Makro auf alle Spiele anzuwenden, wenn die Zellen die gelöscht und sortiert werden sollen, immer an der gleichen Stelle auf dem Blatt sind.
Um den Button zu entfernen, musst du in den Formularentwurfsmodus gehen.
FE.png
FE.png (3.29 KiB) 1949 mal betrachtet
Gruß R

Re: Makro um Namen zu platzieren nach Reihenfolge

Verfasst: Sa, 14.01.2023 14:28
von F3K Total
Moin,
weil ich Lust dazu hatte, habe ich eine Dartsscheibe als Userinterface eingebaut.
Klicke auf die Zahlen am Rand, auf Bull oder die Null oben rechts wenn kein Treffer.
Je nachdem bekommst du zur Auswahl Single/Double oder Tripple, der angeklickte Wert wird in die Tabelle an der richtigen Stelle eingetragen.
F1.png
F1.png (100.06 KiB) 1911 mal betrachtet
Gruß R

Re: Makro um Namen zu platzieren nach Reihenfolge

Verfasst: Mo, 16.01.2023 10:52
von DerTiggr
Wahnsinn was möglich ist... Das sind ja ganz andere Dimensionen XD

Ich scheiter leider kläglich an den Makros und die anderen Spiele. Habe es erstmal beherzigt und alles Spiele werden die gleichen Zellen bekommen.

Dein Makro mit dem Löschen und Sortieren klappt ja sehr gut. Was muss ich ändern, wenn es nicht von groß nach klein sortiert werden soll, sondern von klein nach groß.

Dann hätte ich für fast jedes Spiel eine Lösung ... ausser für Burma Road

Habe mal die Datei angehängt. Die Makros für Highscore und Shanghai gehen zwar, aber Sortierung muss da ja genau anders herum. Der Höchste ist dann ja der letzte Spieler beim nächsten Spiel.

schönen Montag noch und ich fieber deiner Antwort entgegen

Re: Makro um Namen zu platzieren nach Reihenfolge

Verfasst: Mo, 16.01.2023 18:20
von F3K Total
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

Re: Makro um Namen zu platzieren nach Reihenfolge

Verfasst: Mo, 16.01.2023 19:17
von DerTiggr
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

Verfasst: Di, 17.01.2023 16:33
von F3K Total
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

Verfasst: Di, 17.01.2023 19:35
von DerTiggr
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

Verfasst: Di, 17.01.2023 19:51
von F3K Total
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

Verfasst: Di, 17.01.2023 19:55
von DerTiggr
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

Verfasst: Di, 17.01.2023 20:27
von F3K Total
... dann lade die Datei mal hoch...