BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das OpenOffice Forum zu erhalten!

DANKE >><< DANKE

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des OpenOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als OO-SUPPORTER gekennzeichnet. 🤗

Sich ändernde Werte auflisten mit VBA

CALC ist die Tabellenkalkulation, die Sie immer wollten.
Antworten
blubb_18
Beiträge: 15
Registriert: So 8. Okt 2017, 16:31

Sich ändernde Werte auflisten mit VBA

Beitrag von blubb_18 » So 8. Okt 2017, 16:58

Hallo,

da meine VBA Fähigkeiten nicht ausreichend sind um mein Problem zu lösen, bitte ich um eure Hilfe.

Zur Veranschaulichung des Problems siehe Beispieldatei im Anhang.

Zur Erläuterung:
Es gibt zwei Drehfelder, welche jeweils mit einer Zelle verknüpft sind.
=> Drehfeld 1 (links) bezieht sich auf Zelle D5, Drehfeld 2 (rechts) bezieht sich auf Zelle F5
=> bei Klick eines Drehfeldes (Pfeil hoch oder runter) werden die jeweiligen Werte in Zelle D5 bzw. F5 im Intervall (+-1) erhöht oder erniedrigt.

Ziel wäre es nun bei jeder Betätigung/jedem Klick (von einem der Drehfelder) alle Wertepaare zu kopieren und in aufsteigender Form im Bereich (D7:F36) aufzulisten.

Wäre super, wenn mir dabei wer weiterhelfen könnte.

Tausend Dank schon mal im Voraus!!!
LG
Dateianhänge
Auflistung sich ändernder Werte.ods
(11.02 KiB) 141-mal heruntergeladen

mikele
Beiträge: 771
Registriert: Sa 23. Jul 2011, 22:09

Re: Sich ändernde Werte auflisten mit VBA

Beitrag von mikele » Mo 9. Okt 2017, 19:32

Hallo,
das Ganze soll bei jedem einzelnen Klick funktionieren? Die einzelnen Wertepaare unterscheiden sich dann stets nur um 1! Nach 30 Klicks bist du dann bei 30-0 oder 15-15 oder so.
Was ist, wenn die 30 Wertepaare erreicht sind?
Sind gleiche Wertepaare zulässig (hoch- und herunterklicken)?
Gruß,
mikele

blubb_18
Beiträge: 15
Registriert: So 8. Okt 2017, 16:31

Re: Sich ändernde Werte auflisten mit VBA

Beitrag von blubb_18 » Mo 9. Okt 2017, 20:57

Hallo Mikele,

vielen Dank erstmal für deine Antwort!

In der Tat soll bei jedem Klick etwas passieren & ja es sind gleiche Wertepaare zulässig. Die 30 werden in der Regel nie erreicht, denn das Ganze ist in Wahrheit noch ein wenig komplexer als in der Beispieldatei.

Es soll eig. eine Art Tennislivescore werden, siehe Originaldatei im Anhang.
Die Makros für die zwei Buttons habe ich schon (sind jetzt aber nicht enthalten), das einzige was mir fehlt ist die Auflistung der Wertepaare nach jedem Punkt.

Und ja ich weiß, dass das sonst kein Mensch in Calc/Excel machen würde & das meine Formeln sehr umständlich sind. :lol:
Aber es wäre sehr lieb, wenn mir trotzdem wer helfen könnte.

LG
Dateianhänge
Beispieldatei Tennislivescore 1.ods
(17.02 KiB) 140-mal heruntergeladen

mikele
Beiträge: 771
Registriert: Sa 23. Jul 2011, 22:09

Re: Sich ändernde Werte auflisten mit VBA

Beitrag von mikele » Mo 9. Okt 2017, 22:03

Hallo,
so wird es klarer. Wäre es nicht sinnvoller, anstelle der Drehfelder Schaltflächen zu nehmen (Klick=Punkt). Es hat doch keinen Sinn, rückwärts zu klicken? Mir fiele da nur ein, dass man einen Fehlklick korrigieren möchte. Das würde aber für dann aber auch Konsequenzen für die Übertragung der Werte haben.
Würdest du uns deine Makros auch noch zeigen?
Gruß,
mikele

blubb_18
Beiträge: 15
Registriert: So 8. Okt 2017, 16:31

Re: Sich ändernde Werte auflisten mit VBA

Beitrag von blubb_18 » Di 10. Okt 2017, 00:12

Hallo,

ja es wäre wahrscheinlich besser das mit Schaltflächen zu machen, wobei ich dann wohl wieder ein Makro bräuchte & wie gesagt mit Makros hab ich höchstens ein paar Grundkenntnisse.
Für die Buttons in OO musste ich mir auch schon einiges zusammensuchen, da ich es erst in Excel geschrieben hatte.
Das ist ein Anfängermakro deshalb bitte nicht zu streng sein^^

Für OpenOffice funktionieren jetzt aber:
Button 1 (komplett zurücksetzen):
Sub clrRngs
Dim oActiveSheet As Variant
Dim oCellRangeByName As Variant

oActiveSheet = ThisComponent.getCurrentController().getActiveSheet()
oCellRangeByName = oActiveSheet.getCellRangeByName("C11:G40")
oCellRangeByName.clearContents(7)

thisComponent.sheets().getbyname("Tabelle1").getcellrangebyname("D6").string = 0
thisComponent.sheets().getbyname("Tabelle1").getcellrangebyname("F6").string = 0
thisComponent.sheets().getbyname("Tabelle1").getcellrangebyname("C9").string = 0
thisComponent.sheets().getbyname("Tabelle1").getcellrangebyname("G9").string = 0
End Sub

Button 2 (Auflistung & aktueller Spielstand):

Sub clrRngs
Dim oActiveSheet As Variant
Dim oCellRangeByName As Variant

oActiveSheet = ThisComponent.getCurrentController().getActiveSheet()
oCellRangeByName = oActiveSheet.getCellRangeByName("C11:G40")
oCellRangeByName.clearContents(7)

thisComponent.sheets().getbyname("Tabelle1").getcellrangebyname("C9").string = 0
thisComponent.sheets().getbyname("Tabelle1").getcellrangebyname("G9").string = 0
End Sub

mikele
Beiträge: 771
Registriert: Sa 23. Jul 2011, 22:09

Re: Sich ändernde Werte auflisten mit VBA

Beitrag von mikele » Di 10. Okt 2017, 20:47

Hallo,
Das ist ein Anfängermakro deshalb bitte nicht zu streng sein^^
Anfangen ist das wichtigste! Respekt, sich der Herausforderung zu stellen! 8-)
Ich habe mal ein bisschen 'dran 'rumgespielt. Sieh mal, ob du mit der Funktionalität und den Makros so zurecht kommst. An den verschachtelten Wenn()-Funktionen habe ich auch etwas gebastelt.
In den Eigenschaften der Spieler-Schaltflächen habe ich als Zusatzinformation die Zelle geschrieben, in der die Punkte des Spielers gezählt werden. Dadurch können beide Schaltflächen dasselbe Makro nutzen. Der Paramter oevent liefert das Objekt, dass den Makrostart verursacht. Das nutze ich auch bei den beiden Reset-Schaltflächen, die ja fast identisch in ihrer Funktion sind.
Dateianhänge
Beispieldatei Tennislivescore 2.ods
(18.8 KiB) 144-mal heruntergeladen
Gruß,
mikele

blubb_18
Beiträge: 15
Registriert: So 8. Okt 2017, 16:31

Re: Sich ändernde Werte auflisten mit VBA

Beitrag von blubb_18 » Di 10. Okt 2017, 21:43

Hallo mikele,

ich weiß gar nicht was ich sagen soll, aber das ist absolut genial :D :D :D
Vielen, vielen, vielen Dank!

Darf ich fragen wie lange du dafür gebraucht hast?
Auch wenn ich deinen Stundenlohn wohl nicht bezahlen kann, würde ich mich doch gerne erkenntlich zeigen, da du das überragend gemacht hast!!
Wenn du mir eine private Nachricht mit deiner Paypaladresse schickst überweise ich dir was für deine Arbeit & Mühe!

Schönen Abend noch & tausend Dank nochmal.

LG Willi

mikele
Beiträge: 771
Registriert: Sa 23. Jul 2011, 22:09

Re: Sich ändernde Werte auflisten mit VBA

Beitrag von mikele » Di 10. Okt 2017, 21:52

Hallo,
nur nicht übertreiben ... ich bin auch nur ein Laie, der durch Foren wie dieses das ein oder andere gelernt hat.
Schön, dass es passt und dein Ziel getroffen ist - optimieren lässt sich immer noch was.
Gruß,
mikele

blubb_18
Beiträge: 15
Registriert: So 8. Okt 2017, 16:31

Re: Sich ändernde Werte auflisten mit VBA

Beitrag von blubb_18 » Di 10. Okt 2017, 22:18

Naja für mich ist es perfekt & es macht exakt genau das was ich will. :D
Nachdem ich jetzt noch meinen eigenen (Denk-)Fehler ausgebessert habe (bei 1.Punkt, 2.Punkt, etc. waren noch ein paar Sachen falsch).

...Und ich bin ein Laie, der das so nicht hinbekommen hätte, also musst du mindestens fortgeschritten sein! ;)
Mein Angebot steht, ob du es annehmen willst liegt bei dir!

Antworten