Optionsfeld in Verbindung mit Textfeld / Text-Eingabe soll Radiobutton ändern

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

SteHoc
Beiträge: 7
Registriert: Do, 18.06.2020 23:21

Optionsfeld in Verbindung mit Textfeld / Text-Eingabe soll Radiobutton ändern

Beitrag von SteHoc »

Hallo Forum,

gibt es eine einfache Möglichkeit Folgendes zu realisieren?

Ich möchte pro Zeile in einem Tabellenblatt (pro Blatt unterschiedlich - so zwischen zwei und ~fünfzehn Zeilen) in Spalte G einen Radiobutton "ja" (beschriftet mit "Ja") sowie in Spalte H den dazugehörenden Radiobutton "nein" (unbeschriftet) haben.
Weiter möge in Spalte H rechts neben dem Radiobutton ein (noch leeres) Textfeld sein.
Standard wäre, daß in allen Zeileln die "Ja"s angehakt sind und das Textfeld leer ist.

Sobald das "Nein" geklickt wird (ist ja dann eh automatisch "ja" weg und "nein" ausgewählt) soll der Cursor in das Textfeld springen und dort eine Eingabe erwarten.
Bzw. bei einer Eingabe in dem Textfeld (ohne vorherigen Klick auf "nein"), soll "nein" ausgewählt werden (und "ja" eben nicht mehr).
Sobald auf "ja" geklickt wird, soll das Textfeld geleert werden.

ungefähr so:
Radiobuttons.jpg
Radiobuttons.jpg (8.19 KiB) 7564 mal betrachtet
Bis dato gibt es:
Das Optionsfeld in G einfügen mit
- Name=zeile()&"_j" (also 1_j, 2_j, 3_j, ...),
- Titel="Ja"
- Gruppenname=zeile() (also 1, 2, 3, ...)
- Standardstatus = "ausgewählt".

Das Optionsfeld in H eingefügt mit
- Name=zeile()&"_n" (also 1_n, 2_n, 3_n, ...),
- Titel=""
- Gruppenname=zeile() (also 1, 2, 3, ...)
- Standardstatus = "nicht ausgewählt".

Das Textfeld rechts neben das Optionsfeld in H eingefügt mit
Name="Text_"&zeile()

Der Klick auf das "ja" deaktiviert schon mal das "nein" (wegen derselben Gruppe) und umgekehrt.
und weiter .... ?

Wenn ich auf die Suche gehe, finde ich immer so interessante Sachen und les' mich da dann ein, bis ich feststelle, daß das ja gar nicht Das ist, was ich ursprünglich wollte.
Kann mich bitte jemand mit der Nase darauf stupsen, wo genau ich lesen soll.
Dürfte von der Aufgabenstellung her ja nicht unbedingt ein Exot sein / wahrscheinlich gibt es das ja schon als vorgefertigten Code, nur wo?
Grad hab ich beim Suchen im Forum die Feldbefehle entdeckt und überlegt, ob es denn nicht einfacher damit wäre ... und wieder Zeit verbraucht, die evtl. umsonst war ODER eben auch evtl. genau richtig investiert - kann ich aber leider nicht beurteilen ;-(

Erbarmt sich bitte jemand meiner.

Vielen Dank in Voraus
und auch vielen Dank für die investierte Lebens-Zeit diesen Artikel zu lesen.
Stefan

P.S. mein Background: Copy-Paste und Abändern geht so, aber selber VBA-Code schreiben ist mir nur sehr rudimentär möglich ;-(
Sprich: Ohne ständiges Nachblättern nicht möglich, da es mich aber "juckt", habe ich schon größere Projekte "zusammengeschustert".
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Optionsfeld in Verbindung mit Textfeld / Text-Eingabe soll Radiobutton ändern

Beitrag von Stephan »

Kann mich bitte jemand mit der Nase darauf stupsen, wo genau ich lesen soll.
100%ig steht das in den Büchern von Thomas:
https://www.tintal.de/index.php/buecher ... en?lang=de

andere, konkrete Quelle weiß ich momentan nicht und verweise auf:
https://de.openoffice.info/viewtopic.php?f=18&t=1553

Die Lösung ist beispielsweise: weisde JEDEM Radiobutton folgendes Makro für das Ereignis "Status geändert" zu:

Code: Alles auswählen

Sub Radiobutton(Event)
	gn = Event.Source.Model.Groupname
	Select Case Event.Source.Model.Label
		Case "Ja"
			With ThisComponent.CurrentController
				.ActiveSheet.drawpage.Forms(0).getByName("Text_" & gn).Text = ""
			End With
		Case ""
			With ThisComponent.CurrentController
				.getControl(.ActiveSheet.drawpage.Forms(0).getByName("Text_" & gn)).setFocus
			End With
	End Select
End Sub

Gruß
Stephan
Dateianhänge
Beispiel_option.ods
(12.73 KiB) 64-mal heruntergeladen
Antworten