Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1860to1864
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Optionbutton

Optionbutton
06.12.2021 21:21:22
Edmund
Hallo,
sicher kann mir einer bei meinem Problem helfen.
Ich habe in einem Tabellenblatt mehrere Optionbutton eingebunden die mir in einer Celle jeweils einen Wert schreiben sollen, sobald aktiviert
Wenn ich einen Button anklicke schreibt er mir auch den Wert in das benachbarte Feld. Wenn ich aber einen anderen Button anklicke bleibt dieser Wert in den Feld stehen. Er sollte bei nicht aktiv gelöscht werden. Mein Code funktioniert aber nicht.
Gibt es vielleicht auch eine Möglichkeit das ganze zu verkürzen, also nicht für jeden Button die gleiche Prozedur zu schreiben?
Ich habe mal die Testdatei mit hochgeladen. Vielen Dank für die Hilfe.
https://www.herber.de/bbs/user/149624.xlsm

Private Sub OptionButton1_Click()
If OptionButton1.Value = True Then Range("D12").Value = 150
If OptionButton1.Value = False Then Range("D12").Delete
End Sub

Private Sub OptionButton2_Click()
If OptionButton2.Value = True Then Range("D13").Value = 160
If OptionButton2.Value = False Then Range("D13").Delete
End Sub

Private Sub OptionButton3_Click()
If OptionButton3.Value = True Then Range("D14").Value = 160
If OptionButton3.Value = False Then Range("D14").Delete
End Sub

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Optionbutton
06.12.2021 21:37:58
{Boris}
Hi,
die Optionsbuttons haben doch eine (einheitliche) LinkedCell. Sei diese z.B. D2, dann schreibst Du in
D12:
=(D2=1)*150
D13:
=(D2=2)*160
D14:
=(D2=3)*160
VG, Boris
AW: Optionbutton
06.12.2021 22:03:00
Edmund
Hi,
wenn du dir mal meine Testdatei anschaust, ich glaube nicht dass meine Buttons eine LinkedCell haben. Sind alle untereinander und sollen jeweils in das rechte Feld neben dem Button schreiben, weil ich dieses Feld für den Ausdruck brauche.
AW: Optionbutton
06.12.2021 22:41:12
{Boris}
Hi,
ich würde die Formular-Optionsbuttons nehmen - die sind einfacher zu bedienen. Man kann sie auch gruppenweise (und somit unabhängig voneinander) anordnen - z.B. hier nachzulesen:
https://de.extendoffice.com/documents/excel/1724-excel-group-option-radio-buttons.html#a1
Ich hab Dir dazu mal eine kleine Beispieldatei gebaut - siehe Anlage.
https://www.herber.de/bbs/user/149626.xlsx
VG, Boris
Anzeige
AW: Optionbutton
07.12.2021 18:39:11
Edmund
Hallo Boris,
vielen Dank für deine Hilfe und noch mehr Dank für die Beispieldatei, so habe ich es direkt verstanden !!!!
Habe heute Nachmittag deinen Vorschlag mal umgesetzt und er funktioniert. War zwar eine ganze Menge Arbeit bei den vielen Möglichkeiten, aber das Resultat war der Mühe wert. Bei der Gruppe rechts oben funktioniert das aber leider nicht. Dort sollen die Werte sich nicht gegenseitig aufheben sondern sie werden am Schluss addiert.
Geht das überhaupt mit den gleichen Button? Fürs Aussehen währe es schön wenn ich die gleichen Button verwenden könnte.
Hab dir mal die halbfertige Datei mit hochgeladen. Die linke Seite gefällt mir sehr gut.
lg Edmund
https://www.herber.de/bbs/user/149653.xlsm
Anzeige
Was genau meinst Du mit..."rechts oben"?
08.12.2021 08:43:37
{Boris}
Hi,
Du hast bei den Haustypen immer A1 als Zellverknüpfung. Gruppierungen kann ich nicht sehen. Ist das so gewollt?
VG, Boris
AW: Was genau meinst Du mit..."rechts oben"?
08.12.2021 15:09:54
Edmund
Hallo Boris,
es gibt bei den Haustypen nur eine Gruppierung ( es kann nur einen Haustyp geben ). Funktioniert auch bestens.
Bei der Ausstattung ( rechte Seite ) können eine oder alle ausgewählt werden.
Ich habe das nun mit Kotrollkästchen gelöst, geht auch.
Danke für deine Hilfe
lg Edmund
AW: Was genau meinst Du mit..."rechts oben"?
08.12.2021 18:45:18
Edmund
Hallo Boris,
hier mal die "fast" fertige Datei.
Im Blatt "Wert 1914" alles perfekt
Im Blatt "Denkmalschutz" habe ich vier Gruppen angelegt.
Wenn aber bei " besteht Denkmalschutz " ein Nein steht sollten die Button deaktiviert sein oder inaktiv, Geht aber nicht, denke ich mal.
Weil bei aktiven Buttons der Ausdruck dann immer ein X beim Denkmalschutz anzeigt.
Vielleicht hast du ja eine Lösung, ansonsten teste ich mal weiter.
lg Edmund
https://www.herber.de/bbs/user/149692.xlsm
Anzeige
AW: Optionbutton
06.12.2021 22:41:42
ralf_b
Hallo Edmund,
mit der sub codeschreiben kannst du für alle Optionbutton ein Eventmakro ins Direktfenster schreiben.
Diese dann in das Codemodul kopieren und die Zahlenwerte "160" anpassen
Leider stimmt die Zellzuordnung im Blatt nicht immer. Deshalb müßte z.b. beim letzten 6 Geschosser der Zellbezug angepasst werden.
Probiers mal aus. Ich nutze das change Event und nicht das click Event.

Sub codeschreiben()
Dim i As Long
Dim sName As String
For i = 1 To ActiveSheet.Shapes.Count
'Debug.Print ActiveSheet.Shapes(i).Name
If ActiveSheet.Shapes(i).Name Like "*Group*" Then
For cnt = 1 To ActiveSheet.Shapes(i).GroupItems.Count
sName = ActiveSheet.Shapes(i).GroupItems(cnt).Name
Debug.Print ""
Debug.Print "Private Sub " & sName & "_Change()"
Debug.Print ""
Debug.Print "    With ActiveSheet.Shapes(""" & sName & """)"
Debug.Print "       .BottomRightCell.Offset(-1, 1).Value = IIf(" & sName & ", 160, """")"
Debug.Print "  End With"
Debug.Print "End Sub"
Debug.Print ""
Next
End If
Next
End Sub
'Diese Sub wird z.b. damit geschrieben
Private Sub OptionButton3_Change()
With ActiveSheet.Shapes("OptionButton3")
.BottomRightCell.Offset(-1, 1).Value = IIf(OptionButton3, 160, "")
End With
End Sub

Anzeige
AW: Optionbutton
07.12.2021 18:27:08
Edmund
Hallo Ralf,
vielen Dank für deine Hilfe, aber ehrlich gesagt, ist das (noch) zu hoch für mich. Ich taste mich Schritt für Schritt an Excel und VBA heran.
Deine Lösung zur Verwaltung der Adressen habe ich eingebaut ( hast es mir ja auch verdammt einfach gemacht ).
Ich habe den Vorschlag von Boris heute mal umgesetzt, war für mich verständlich und er geht zudem auch noch :-)
lg Edmund
AW: Optionbutton
07.12.2021 11:01:04
Daniel
HI
das CLICK-Event wird nur ausgeführt, wenn du den Button direkt anklickst.
wenn du einen Optionbutton anklickst ist dessen Wert immer WAHR, deswegen wird dein zweites IF zum löschen der Zelle nie ausgeführt.
das CLICK-Event eines Buttons wird nicht ausgeführt wenn du einen anderen Button anklickst und dieser Button abgewählt wird.
der einfachste Weg wäre hier wahrscheinlich, wenn du statt dem CLICK-Event das CHANGE-Event verwendest. Dieses wird nämlich auch dann ausgeführt, wenn du einen Button durch anklicken eines anderen Buttons abwählst.
weiterhin ist DELETE hier hier der falsche Befehl. DELETE löscht die Zelle und dann rücken die rechts oder darunter liegende Zelle auf diese Postion nach! Du willst hier aber nur den Inhalt leeren, dann wäre CLEARCONTENTS der richtige Befehl
da du viele Buttons hast für die du diesen Code brauchst, würde ich ihn so kurz wie möglich halten.
die kürzeste Variante als Code für einen Button wäre dieses:

Private Sub OptionButton1_Change()
Range("D12").Value = IIf(OptionButton1.Value, 150, "")
End Sub
hat auch den Vorteil, dass du weniger ändern musst, wenn du den Code für die anderen Buttons kopierst.
wobei ich ganze Codefrei ausführen würde.
hierzu brauchst du neben jedem Button zwei zusätzliche Hilfsspalten, welche du aber hinterher ausblenden kannst so dass sie nicht stören:
in Spalte C: diese Zelle verknüpfst du mit dem Button, in dem du die Zelladresse (C12) in der Eigenschaft "LinkedCell" einträgst
in diese Zelle wird dann mit WAHR oder FALSCH eingetragen, ob der Button an
in Spalte D: hier trägst du für alle Zellen den auszugebenden Wert ein (also die 150, 160 usw)
in Spalte E: kommt die Formel: =Wenn(C12;D12;"")
und Spalte E ist dann die Zelle, mit der du weiter arbeitest.
so funktionert das ganze ohne Code, größter Vorteil ist, wenn sich die Werte ändern, musst du nicht in den Code eingreifen, sondern kannst diese direkt in die Tabelle eintragen.
Gruß Daniel
Anzeige
AW: Optionbutton
07.12.2021 18:30:58
Edmund
hi Daniel,
Danke für deinen Vorschlag, hab die Idee von Boris heute mal umgesetzt. Werde es nun testen und dann sehen wie es weiter geht.
lg Edmund

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige