Button je nach Wert einer Zelle eine andere Zelle ansprechen

CALC ist die Tabellenkalkulation, die Sie immer wollten.
Antworten
Firebird
Beiträge: 6
Registriert: Do 17. Okt 2013, 22:56

Button je nach Wert einer Zelle eine andere Zelle ansprechen

Beitrag von Firebird » Do 17. Okt 2013, 23:18

Hallo,
folgendes Problem:

Ein Button soll in Abhängigkeit des Wertes einer Zelle eine andere Zelle ansprechen.

Ich möchte eine Tabelle erstellen, dessen erste Spalte durchnummeriert ist mit den Tagen, sprich Tag 1, Tag 2, Tag 3...
In meinem Fall habe ich einen Button erstellt, der in einer Zelle den Wert pro Auslöser um 1 erhöht. Der Wert entspricht dem Tag, also Tag 1, Tag 2, Tag 3...

Nun hätte ich gerne einen zweiten Button, der jeweils den Wert der zweiten Spalte um 1 erhöht. In welcher Zeile der Wert erhöht wird, soll davon abhängen, welchen Tag der erste Button anzeigt.
Z.B. steht der Zähler des ersten Buttons auf 3, soll der zweite Button in der zweiten Spalte den Wert in der Zelle um 1 erhöhen, die sich in der Zeile mit "Tag 3" befindet

Ich hoffe ich habe mich halbwegs verständlich ausgedrückt... Über Hilfe würde ich mich sehr freuen :-)

Gruß Firebird

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Button je nach Wert einer Zelle eine andere Zelle anspre

Beitrag von F3K Total » Do 17. Okt 2013, 23:34

Hi,
ich hätte da eine andere Lösung
Das funktioniert per Makro, daher stelle unter Extras/Optionen/Openoffice.org oder LibreOffice.org/Sicherheit/Makrosicherheit die Stufe "Mittel" ein, dann wirst du beim Öffnen von Dokumenten gefragt, ob du Makros ausführen möchtest.
Gruß R
Zuletzt geändert von F3K Total am Do 17. Okt 2013, 23:53, insgesamt 1-mal geändert.
Windows 11: AOO, LO Linux Mint: AOO, LO

Firebird
Beiträge: 6
Registriert: Do 17. Okt 2013, 22:56

Re: Button je nach Wert einer Zelle eine andere Zelle anspre

Beitrag von Firebird » Do 17. Okt 2013, 23:44

Hi,
danke für deine schnelle Antwort, leider kenne ich mich mit den makros noch nicht so wirklich aus. Habe erst angefangen, mich damit zu befassen.

Also die Buttons sollen schon über Makros gesteuert werden, nur möchte ich gerne, dass der zweite Button in Abhängigkeit von dem Button reagiert, der die Tage zählt. Es soll mit dem Button also, je nachdem, welchen Tag der "Tage zähl Button" anzeigt, eine andere Zelle angesprochen werden. Ist das möglich?

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Button je nach Wert einer Zelle eine andere Zelle anspre

Beitrag von F3K Total » Do 17. Okt 2013, 23:53

Schau dir die Datei am Ende des Links doch mal an, da brauchst du kein Makro schreiben, sondern nur ermöglichen dass es ausgeführt werden kann.
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO

Firebird
Beiträge: 6
Registriert: Do 17. Okt 2013, 22:56

Re: Button je nach Wert einer Zelle eine andere Zelle anspre

Beitrag von Firebird » Fr 18. Okt 2013, 00:03

Ah, jetzt ist der Groschen gefallen ;-). Danke dir. Rein der Interesse halber, ist es denn möglich ein Makro, wie ich es beschrieben habe zu erstellen? Der Voteil von meiner Variante wäre eben, dass ich die Tabelle alleine über die 2 buttons steuern könnte und nicht immer die entsprechenden Zellen suchen müsste. Vor allem wenn die Tabelle eine gewisse Größe erreicht hat, könnte das von Vorteil sein.

Firebird
Beiträge: 6
Registriert: Do 17. Okt 2013, 22:56

Re: Button je nach Wert einer Zelle eine andere Zelle anspre

Beitrag von Firebird » Fr 18. Okt 2013, 01:50

vielleicht stelle ich noch mal meine Tabelle dar:
im folgenden Beispiel steht der counter für die tage auf 2. An Tag 2 gibt es bereits eine Anzahl von 3. Wenn ich jetzt also jetzt Button2 drücke, möchte ich, dass sich der Wert von 3 auf 4 erhöht. Sobald ich dann Button1 drücke und der Tag somit auf 3 springt, sollte die Anzahl in der Zeile Tag 3 steigen, wenn man Button2 auslöst.

Button1(Tag): 2 Button2(Anzahl)

...........Anzahl
Tag1 ........ 2
Tag2 ........ 3
Tag3
Tag4
.
.
.

mein Button1 funktioniert über

Code: Alles auswählen

thisComponent.sheets().getbyname("Tabelle1").getcellrangebyname("C5").value =_
thisComponent.sheets().getbyname("Tabelle1").getcellrangebyname("C5").value + 1
für den zweiten Button wäre eine Lösung meines Problems, wenn man statt der Zelle C5 eine Art variable Zelle Ci eintragen könnte, bei der dann je nach Wert von i eine andere Zelle angesprochen wird. Das ist aber nicht möglich oder?

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Button je nach Wert einer Zelle eine andere Zelle anspre

Beitrag von F3K Total » Fr 18. Okt 2013, 06:39

Hi, mit

Code: Alles auswählen

.getcellrangebyName("C5")
sprichst Du die selbe Zelle an wie mit

Code: Alles auswählen

.getcellbyposition(2,4) '(Spaltenindex/Zeilenindex)
Damit kannst du es lösen.
Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO

Firebird
Beiträge: 6
Registriert: Do 17. Okt 2013, 22:56

Re: Button je nach Wert einer Zelle eine andere Zelle anspre

Beitrag von Firebird » Fr 18. Okt 2013, 21:29

Perfekt, das funktioniert :-) vielen Dank für deine Hilfe.

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Button je nach Wert einer Zelle eine andere Zelle anspre

Beitrag von F3K Total » Fr 18. Okt 2013, 21:47

Hi,
noch ein kleiner Verbesserungsvorschlag, Dein Code kann auch etwas übersichtlicher geschrieben werden:

Code: Alles auswählen

oSheet = ThisComponent.sheets.getbyname("Tabelle1")'Zugriff auf Tabelle1
ocell = osheet.getcellrangebyname("C5") 'oder .getcellbyposition(2,4) -> Zugriff auc C5
ocell.value = ocell.value +1 'hochzählen


Gruß R
Windows 11: AOO, LO Linux Mint: AOO, LO


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten