Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1440to1444
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
20.08.2015 18:28:36
Alexander
Guten Tag,
da ich mich mit Beispieldateien und Rekorderaufzeichnungen über Wasser halte bin ich mal wieder an meine Grenzen gestossen.
Ich möchte eigentlich nur zwei OptionButton ansprechen um bestimmte Spalten ein oder auszublenden.
Die OptionButten befinden sich in einer UserForm.
Die eigentlichen Funktionen werden über CommandButton aus der Exceltabelle angesprochen.
Ich hoffe es war einigermassen verständlich.
Das nachfolgende Beispiel funktioniert ganz gut, nur die OptionButton werden nicht angesprochen und bringen die Fehlermeldung „Laufzeitfehler 424: Objekt erforderlich“
Ich habe halt noch nie mit diesen Optionen gearbeitet daher komme ich auch nicht weiter.
Sub Pendenzen_mit_PQM()
' Pendenzen_mit_PQM Makro
' Gesamtliste
' Tastenkombination: Strg+Umschalt+G
ActiveSheet.Unprotect ("MSGGU")
Columns("A:AF").Select
Selection.EntireColumn.Hidden = False
ActiveSheet.Range("$A$5:$AE$1650").AutoFilter Field:=2
ActiveSheet.Range("$A$5:$AE$1650").AutoFilter Field:=4
ActiveWorkbook.Worksheets("Pendenzen + PQM").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Pendenzen + PQM").AutoFilter.Sort.SortFields.Add _
Key:=Range("A5:A1650"), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Pendenzen + PQM").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
If OptionButton2.Value = False Then
ActiveSheet.Range("$A$5:$AE$1650").AutoFilter Field:=2
Columns("D:G").Select
Selection.EntireColumn.Hidden = False
ElseIf OptionButton1.Value = False Then
ActiveSheet.Range("$A$5:$AE$1650").AutoFilter Field:=2
Columns("E:F").Select
Selection.EntireColumn.Hidden = True
End If
Columns("A:A").Select
Selection.EntireColumn.Hidden = True
Columns("AF:AF").Select
Range(Selection, Selection.End(xlToRight)).Select
Selection.EntireColumn.Hidden = True
Range("G1").Value = "Pendenzen mit PQM"
Range("T2:T5").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = -4.99893185216834E-02
.PatternTintAndShade = 0
End With
Range("H2").Select
ActiveSheet.Protect "MSGGU", DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowSorting:=True, AllowFiltering:=True
End Sub
Vielen Dank schon einmal im Voraus für Eure Hilfe
Alexander
Ps. Eine möglichst einfache Lösung wäre mir recht.

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: OptionButton
20.08.2015 18:39:19
Daniel
Hi
wenn sich die Optionbuttons in einer userform befinden und der Code in einem allgemeinen Modul (dh dort wo auch der Recorder seine aufzeichnungen hinschreibt), dann musst du VBA auch mitteilen, wo sich die Optionbuttons befinden, nämlich in der Userform :
if Userform1.Optionbutton2.Value = False then
nur wenn du den Code im Modul der userform selbst schreibst (bspw weil du ihn direkt einem Commandbutton der Userform zugeordnet hast) darfst du die Angabe der Useform weglassen, denn dann geht VBA automatisch davon aus, dass wenn du nichts angibst, die Userform meinst in der sich der Code befindet.
Gruß Daniel

Anzeige
AW: OptionButton
21.08.2015 11:57:24
Alexander
Vielen Dank !!
Manche Dinge sind doch einfacher als man denkt.
Leider hängt dann aber meistens noch etwas dran.
Gut der Code wird nun akzeptiert. Leider merken sich die OptionButton noch nicht welcher ausgewählt worden ist.
Wie muss ist das nun noch bewerkstelligen.
Ich denke damit sollte die Aufgabe gelöst sein.
Lässt es sich in den Button Eigenschaften eventuell definieren.
Herzlichen Dank noch mal im Voraus.
Alex

AW: OptionButton
21.08.2015 12:17:18
Daniel
Hi
was meinst du mit "merken" ?
wenn die Userform gestartet wird, haben die Buttons den Wert, welchen du ihnen bei der Erstellung im VBA-Editor gegeben hast.
dh wenn beim Öffnen der Userform immer schon ein bestimmter Optionbutton ausgewählt sein soll, musst du im VBA-Edior in der Eigenschaftsliste des Buttons für die Eigenschaft "Value" den Wert TRUE einstellen
wenn du willst, dass sich die Optionbuttons ihre letze Einstellung des Anwenders merken musst du sie mit einer Ausgabezelle verknüpfen.
Das machst du, in dem du die Adresse der Ausgabezelle in die Eigenschaft "ControlSource" des Optionbuttons einträgst.
da wird dann automatisch der Buttonzustand mit WAHR oder FALSCH eingetragen und beim Öffnen der Userform wird dann dieser Wert auch gleich so eingestellt.
Das wird dann auch beim Speichern der Datei mit gespeichert.
Gruß Daniel

Anzeige
AW: OptionButton
21.08.2015 13:11:05
Alexander
Hallo Daniel,
das mit ControlSource hatte ich mir schon gedacht, nur was für eine Ausgabezelle ?
Du hast ja gesehen, das durch die nachfolgende Funktion Spalten ein und ausgeblendet werden.
Leider verstehe ich nicht auf was für eine Zelle ich mich beziehen soll um den Buttonzustand zu speichern.
Gruss Alexander

AW: OptionButton
21.08.2015 13:20:47
Daniel
Hi
ControlSource ist die Ausgabezelle
in die Zelle, die du dort angibst, schreibt Excel automatisch den Wert des jeweiligen Steuerelements.
beim Öffnen der Userform wird dann aus dieser Zelle der Wert ausgelesen und in die .value-Eigenschaft des betroffenen Steuerelements geschrieben.
Gruß Daniel

Anzeige
AW: OptionButton
21.08.2015 13:48:01
Alexander
Hallo Daniel,
Also ich habe jetzt eine x beliebige Zelle „Tabelle1!A1“ für den Button 1 und für Button 2 „Tabelle1!A2“ genommen.
Bis jetzt funktioniert das ganze einwandfrei.
Sind die Zellen in der Tabelle den eigentlich weiterhin zu verwenden oder werden diese durch die Button Einstellungen belegt und zum Speichern dieser überschrieben.
Falls diese nicht überschrieben werden, dann verstehe ich das Ganze mit der Ausgabezelle nicht wirklich. Doch Hauptsache das Tool macht was es soll.
Nochmals vielen Dank
Gruss Alexander

AW: OptionButton
21.08.2015 15:39:22
Daniel
Hi
naja, in den Zellen steht mit WAHR oder FALSCH der zustand der Optionbuttons.
diese Zellen solltest du dann nicht für was anderes nutzen.
das macht aber nichts, Excel hat genügend Zellen, auf einem Blatt sogar mehr als eigentlich zählen kann ;-).
du kannst diese Zellen natürlich überschreiben, aber Excel versucht dann, den Wert den du in die Zelle schreibst, an den Optionbutton zu übertragen.
Man kann das nutzen, um auf diese weise die Optionbuttoneinstellungen zu ändern ohne auf den Button klicken zu müssen oder in die VBA-Programmierung einzugreifen, aber man muss dann selber aufpassen, dass kein Blödsinn rauskommt.
Gruß Daniel

Anzeige
AW: OptionButton
21.08.2015 13:05:03
Alexander
Vielen Dank !!
Manche Dinge sind doch einfacher als man denkt.
Leider hängt dann aber meistens noch etwas dran.
Gut der Code wird nun akzeptiert. Leider merken sich die OptionButton noch nicht welcher ausgewählt worden ist.
Wie muss ist das nun noch bewerkstelligen.
Ich denke damit sollte die Aufgabe gelöst sein.
Lässt es sich in den Button Eigenschaften eventuell definieren.
Herzlichen Dank noch mal im Voraus.
Alex

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige