Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CheckBox
BildScreenshot zu CheckBox CheckBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Label
BildScreenshot zu Label Label-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema ToggleButton
BildScreenshot zu ToggleButton ToggleButton-Seite mit Beispielarbeitsmappe aufrufen

Userform Toggle Button rücksetzen

Betrifft: Userform Toggle Button rücksetzen von: SteffenS
Geschrieben am: 04.08.2008 19:13:45

Hallo Zusammen,

ich habe in einer Userform mehrere Toggle Buttons.
Wenn ich einen Button auswähle so möchte ich das die anderen deaktiviert (.value=False) werden.

Wie bekomme ich dies hin ohne das die gedrückte Schaltfläche auch deaktiviert wird.

Ich habe es mit:

Private Sub reset_button(bname As String)

Dim mn As control
For Each mn In Me.Controls
    If mn.Name Like "pb_*" Then
        If mn.Name <> bname Then
            If Me.Controls(mn.Name).Value = True Then Me.Controls(mn.Name).Value = False
        Else
            Me.Controls(mn.Name).Value = True
        End If
    End If
Next

End Sub



versucht, aber leider geht dies nur in eine Richtung.

Danke im Voraus.

Steffen Schmerler

  

Betrifft: AW: Userform Toggle Button rücksetzen von: Ramses
Geschrieben am: 04.08.2008 21:28:40

Hallo

was verstehst du unter

"... ohne das die gedrückte Schaltfläche auch deaktiviert wird..."

Gruss Rainer


  

Betrifft: nähere erklärung meiner Frage von: SteffenS
Geschrieben am: 04.08.2008 21:54:57

Also ich möchte folgendes erreiche:

Wenn ich eine meiner Umschaltflächen drücke so soll diese aktiviert werden und alle anderen (4) sollen deaktiviert werden.
Dabei möchte ich die Button nicht einzeln deaktivieren, sonder über eine Schleife.
Mein Problem dabei ist das bei meinem Code nicht 4 sondern alle 5 Toggle Button deaktiviert werden.
Ich weiß leider nicht wie ich die Schaltfläche herausbekomme die gerade gedrückt wird.

Könnt Ihr mit der Erklärung etwas mehr anfangen?

Danke nochmal

MFG

Steffen Schmerler


  

Betrifft: AW: nähere erklärung meiner Frage von: Ramses
Geschrieben am: 04.08.2008 22:11:24

Hallo

Probier mal

Option Explicit

Private Sub ToggleButton1_Click()
    'Das muss in jedem Togglebutton stehen
    Reset_Togglebutton ActiveControl.Name
End Sub

Private Sub Reset_Togglebutton(tarName As String)
    Dim togObj As Object
    For Each togObj In Me.Controls
        If TypeName(togObj) = "ToggleButton" And togObj.Name <> "ToggleButton1" Then
            togObj.Value = False
        End If
    Next
End Sub


Gruss Rainer


  

Betrifft: Danke Dir von: SteffenS
Geschrieben am: 04.08.2008 22:48:11

für Deine Hilfe,
das passt so :-))))

Steffen


  

Betrifft: AW: Danke Dir von: Ramses
Geschrieben am: 05.08.2008 08:19:04

Hallo

Schön dass es passt, aber es ist wahrscheinlich Zufall,... denn diese Zeile

If TypeName(togObj) = "ToggleButton" And togObj.Name <> "ToggleButton1" Then

muss natürlich korrekt so lauten

If TypeName(togObj) = "ToggleButton" And togObj.Name <> tarName Then

Gruss Rainer


 

Beiträge aus den Excel-Beispielen zum Thema "Userform Toggle Button rücksetzen"