Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA Optionsbutton aktivieren

VBA Optionsbutton aktivieren
30.01.2014 13:23:22
Ga
Hallo Leute
Ich suche den VBA Code andersrum, wie er aus Zelle 30 in Tabelle 23 den OptionButton aktiviert. Wenn z. B. Wert mit der Zahl 14 dann entsprechender BUtton aktiviert.
Hier mein Code bisher

Private Sub CommandButton13_Click() 'Schaltknopf SPEICHERN
If TextBox1 = "" And TextBox34 = "" Then
Sheets(23).Rows(Zeile).Delete
Else
'OptionsButton aktivieren Zahlungsbedingungen
If OptionButton_14_Tage_Netto.Value = True Then Tabelle23.Cells(Zeile, 30).Value = "14"
If OptionButton_30_Tage_Netto.Value = True Then Tabelle23.Cells(Zeile, 30).Value = "30"
If OptionButton_Andere_Zahlungsweise.Value = True Then Tabelle23.Cells(Zeile, 30).Value = " _
Andere"
End If
Unload Me
End Sub

Private Sub UserForm_Initialize()
OptionButton_14_Tage_Netto = Cells(Zeile, 30) 'OptionsButton Zahlungsbedingungen
OptionButton_30_Tage_Netto = Cells(Zeile, 30) 'OptionsButton Zahlungsbedingungen
OptionButton_Andere_Zahlungsweise = Cells(Zeile, 30) 'OptionsButton Zahlungsbedingungen
End Sub

Vielleicht kann mir jemand helfen.

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Optionsbutton aktivieren
30.01.2014 13:30:35
Rudi
Hallo,
OptionButton_14_Tage_Netto = Tabelle23.Cells(Zeile, 30).Value = "14"
Warum schreibst du Zahlen als String in Zellen?
Logischer wäre
If OptionButton_14_Tage_Netto.Value = True Then Tabelle23.Cells(Zeile, 30).Value = 14
Gruß
Rudi

AW: VBA Optionsbutton aktivieren
31.01.2014 13:37:49
Ga
Hallo, danke für den Tipp. Habe ich gleich umgesetzt und die Formel etwas ergänzt. Aber es funktioniert immer noch nicht. Er schreibt zwar in die Spalte (Zeile, 30) aber VBA aktiviert die Buttons noch nicht. Was mache ich nur falsch?
'Daten aus Typenliste in UserForm Optionbutton laden
If Tabelle23.Cells(Zeile, 30).Value = 14 Then
OptionButton_14_Tage_Netto.Value = True
'OptionButton_30_Tage_Netto.Value = False
'OptionButton_Andere_Zahlungsweise.Value = False
ElseIf Tabelle23.Cells(Zeile, 30).Value = 30 Then
'OptionButton_14_Tage_Netto.Value = False
OptionButton_30_Tage_Netto.Value = True
'OptionButton_Andere_Zahlungsweise = False
ElseIf Tabelle23.Cells(Zeile, 30).Value = "Andere" Then
'OptionButton_14_Tage_Netto.Value = False
'OptionButton_30_Tage_Netto.Value = False
OptionButton_Andere_Zahlungsweise.Value = True
End If
'OptionsButton aktivieren Zahlungsbedingungen
If OptionButton_14_Tage_Netto.Value = True Then Tabelle23.Cells(Zeile, 30).Value = 14
If OptionButton_14_Tage_Netto.Value = False Then Tabelle23.Cells(Zeile, 30).Value = "Andere"
If OptionButton_30_Tage_Netto.Value = True Then Tabelle23.Cells(Zeile, 30).Value = 30
If OptionButton_30_Tage_Netto.Value = False Then Tabelle23.Cells(Zeile, 30).Value = "Andere"
If OptionButton_Andere_Zahlungsweise.Value = True Then Tabelle23.Cells(Zeile, 30).Value = "Andere"
'ElseIf OptionButton_Andere_Zahlungsweise.Value = False Then Tabelle23.Cells(Zeile, 30).Value = 14
End If
Unload Me
End Sub
Wäre bei weiterer Hilfe sehr dankbar!
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

VBA Optionsbutton aktivieren in Excel


Schritt-für-Schritt-Anleitung

Um einen Option Button in VBA zu aktivieren, folge diesen Schritten:

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11 in Excel, um den Visual Basic for Applications (VBA) Editor zu öffnen.
  2. Füge einen UserForm hinzu:

    • Rechtsklicke im Projektfenster und wähle Einfügen > UserForm.
  3. Füge Option Buttons hinzu:

    • Ziehe die OptionButton-Steuerelemente auf die UserForm. Benenne sie beispielsweise OptionButton_14_Tage_Netto, OptionButton_30_Tage_Netto und OptionButton_Andere_Zahlungsweise.
  4. Verwende den folgenden Code in den entsprechenden Event-Handlern:

    Private Sub UserForm_Initialize()
       If Tabelle23.Cells(Zeile, 30).Value = 14 Then
           OptionButton_14_Tage_Netto.Value = True
       ElseIf Tabelle23.Cells(Zeile, 30).Value = 30 Then
           OptionButton_30_Tage_Netto.Value = True
       ElseIf Tabelle23.Cells(Zeile, 30).Value = "Andere" Then
           OptionButton_Andere_Zahlungsweise.Value = True
       End If
    End Sub
  5. Aktiviere die Option Buttons:

    • In der CommandButton_Click-Subroutine kannst du dann die Status der Option Buttons überprüfen und die entsprechenden Werte zuweisen.

Häufige Fehler und Lösungen

  • Problem: Option Button wird nicht aktiviert

    • Lösung: Stelle sicher, dass das Event UserForm_Initialize korrekt aufgerufen wird. Überprüfe, ob Zeile korrekt gesetzt ist und ob die Zelle 30 den erwarteten Wert enthält.
  • Problem: Werte werden als Strings geschrieben

    • Lösung: Achte darauf, dass du Werte ohne Anführungszeichen schreibst, z. B. If OptionButton_14_Tage_Netto.Value = True Then Tabelle23.Cells(Zeile, 30).Value = 14.

Alternative Methoden

Eine andere Möglichkeit, die Option Buttons zu aktivieren, ist die Verwendung von Excel VBA-Events, wie Worksheet_Change. Damit kannst du die Zelle überwachen und die entsprechenden Option Buttons aktivieren, wenn sich der Wert ändert.

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Me.Cells(Zeile, 30)) Is Nothing Then
        Select Case Me.Cells(Zeile, 30).Value
            Case 14
                OptionButton_14_Tage_Netto.Value = True
            Case 30
                OptionButton_30_Tage_Netto.Value = True
            Case "Andere"
                OptionButton_Andere_Zahlungsweise.Value = True
        End Select
    End If
End Sub

Praktische Beispiele

Hier ist ein Beispiel, wie du die Option Buttons in einer UserForm aktivieren kannst, basierend auf dem Wert einer Zelle:

Private Sub UserForm_Initialize()
    Dim Wert As Variant
    Wert = Tabelle23.Cells(Zeile, 30).Value

    Select Case Wert
        Case 14
            OptionButton_14_Tage_Netto.Value = True
        Case 30
            OptionButton_30_Tage_Netto.Value = True
        Case "Andere"
            OptionButton_Andere_Zahlungsweise.Value = True
    End Select
End Sub

Tipps für Profis

  • Verwende Option Explicit: Dies hilft, Fehler durch nicht deklarierte Variablen zu vermeiden.
  • Benutze With-Anweisungen: Dies kann den Code lesbarer und effizienter machen.
With Tabelle23
    If .Cells(Zeile, 30).Value = 14 Then
        OptionButton_14_Tage_Netto.Value = True
    End If
End With

FAQ: Häufige Fragen

1. Wie kann ich mehrere Option Buttons gleichzeitig aktivieren? Es ist nicht möglich, mehrere Option Buttons gleichzeitig zu aktivieren, da sie als Gruppe fungieren. Du solltest sicherstellen, dass nur einer aktiviert ist.

2. Was ist der Unterschied zwischen einem Option Button und einem Check Box? Ein Option Button (auch Radio Button genannt) erlaubt nur eine Auswahl aus mehreren Optionen, während eine Check Box mehrere, unabhängige Auswahlmöglichkeiten zulässt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige