Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

CommandButton aktivieren wenn...aktiv

Forumthread: CommandButton aktivieren wenn...aktiv

CommandButton aktivieren wenn...aktiv
23.12.2006 21:18:40
André
Hallo,
es soll in einer Userform einen CommandButton erst aktiviert sein, wenn:
CommandButton1.Enabled = False
Dies soll solange aktiv sein, bis ein OptionButton ausgewählt wurde und wenn mehrere Textfelder ausgefühlt wurden.
Das alles ohne bestimmter Reihenfolge.
Wenn alles erfüllt wurde, dann soll:
CommandButton1.Enabled = True
Ich habe folgendes ausprobiert. Nur weiss ich nicht, in welchem Befehl ich es schreiben soll, damit sich der CommandButton automatisch aktiviert, sobald alles erfüllt wurde.
?
If TextBox1 &gt= 1 And TextBox2 &gt= 1 And OptionButton1 = True Or OptionButton2 = True Or OptionButton3 = True Then
CommandButton1.Enabled = True
Else
CommandButton1.Enabled = False
End If
?
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: CommandButton aktivieren wenn...aktiv
23.12.2006 21:45:03
Ali
Hi,
Sub teste()
If TextBox1 >= 1 And TextBox2 >= 1 And (OptionButton1 = True Or OptionButton2 = True Or OptionButton3 = True) Then
CommandButton1.Enabled = True
Else
CommandButton1.Enabled = False
End If
End Sub

Private Sub OptionButton1_Click()
teste
End Sub


Private Sub OptionButton2_Click()
teste
End Sub


Private Sub OptionButton3_Click()
teste
End Sub


Private Sub TextBox1_Change()
teste
End Sub


Private Sub TextBox2_Change()
teste
End Sub

ohne Fehlerabsicherung!
mfg Ali
Anzeige
AW: CommandButton aktivieren wenn...aktiv
23.12.2006 22:03:37
André
Besten Dank!
;
Anzeige

Infobox / Tutorial

CommandButton Aktivierung in Excel UserForms


Schritt-für-Schritt-Anleitung

Um einen CommandButton in einer Excel UserForm zu aktivieren, kannst Du die folgenden Schritte befolgen:

  1. Erstelle eine UserForm: Füge Deiner Excel-Anwendung eine UserForm hinzu.
  2. Füge Steuerelemente hinzu: Platziere zwei TextBoxen, drei OptionButtons und einen CommandButton auf der UserForm.
  3. Setze die Eigenschaften: Stelle sicher, dass die Enabled-Eigenschaft des CommandButtons auf False gesetzt ist, damit er zu Beginn deaktiviert ist.
  4. Füge VBA-Code hinzu: Implementiere den folgenden Code in die UserForm:
Private Sub OptionButton1_Click()
    teste
End Sub

Private Sub OptionButton2_Click()
    teste
End Sub

Private Sub OptionButton3_Click()
    teste
End Sub

Private Sub TextBox1_Change()
    teste
End Sub

Private Sub TextBox2_Change()
    teste
End Sub

Sub teste()
    If TextBox1.Value >= 1 And TextBox2.Value >= 1 And (OptionButton1.Value Or OptionButton2.Value Or OptionButton3.Value) Then
        CommandButton1.Enabled = True
    Else
        CommandButton1.Enabled = False
    End If
End Sub
  1. Testen: Fülle die TextBoxen und wähle einen OptionButton aus, um zu sehen, ob der CommandButton aktiviert wird.

Häufige Fehler und Lösungen

  1. Fehler: CommandButton bleibt deaktiviert
    Lösung: Stelle sicher, dass die Value-Eigenschaft der TextBoxen und OptionButtons korrekt abgefragt wird. Überprüfe die Bedingungen in der teste-Subroutine.

  2. Fehler: OptionButtons reagieren nicht
    Lösung: Achte darauf, dass alle Event-Handler (z.B. OptionButton1_Click) korrekt verknüpft sind und dass der Code in der UserForm korrekt platziert ist.

  3. Fehler: TextBox-Werte werden nicht erkannt
    Lösung: Überprüfe, ob Du die Value-Eigenschaft der TextBoxen verwendest und ob die TextBoxen tatsächlich Zahlen enthalten (z.B. keine Leerzeichen).


Alternative Methoden

  • Verwendung von ActiveX-Steuerelementen: Du kannst auch ActiveX-Controls anstelle von Formularsteuerelementen verwenden, um mehr Anpassungen vorzunehmen.
  • Dynamische Aktivierung: Statt die Schaltfläche nur bei Änderungen zu aktivieren, kannst Du auch eine Timer-Funktion verwenden, um die Statusüberprüfung in regelmäßigen Abständen durchzuführen.

Praktische Beispiele

Beispiel 1: Einfache UserForm mit zwei TextBoxen
In diesem Beispiel wird der CommandButton aktiviert, wenn beide TextBoxen Werte größer oder gleich 1 enthalten und einer der OptionButtons ausgewählt ist.

Beispiel 2: Mehrere Steuerelemente
Du kannst die Logik erweitern, um zusätzliche TextBoxen oder OptionButtons hinzuzufügen und den Code darauf basierend anzupassen.


Tipps für Profis

  • Code wiederverwenden: Überlege, ob Du die teste-Subroutine in einer allgemeinen Moduldatei speichern kannst, um sie in verschiedenen UserForms wiederzuverwenden.
  • Fehlerbehandlung einfügen: Implementiere eine Fehlerbehandlung, um sicherzustellen, dass der Code bei unerwarteten Eingaben nicht abstürzt.
  • Benutzerfreundlichkeit: Füge Hinweise oder Labels hinzu, um den Benutzern zu zeigen, welche Eingaben erforderlich sind.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass die TextBoxen nur Zahlen akzeptieren?
Du kannst die KeyPress-Ereignisse der TextBoxen verwenden, um Eingaben zu überprüfen und sicherzustellen, dass nur Zahlen eingegeben werden.

2. Was passiert, wenn ich mehr als zwei TextBoxen hinzufügen möchte?
Erweitere einfach die Bedingungen in der teste-Subroutine, indem Du weitere TextBoxen hinzufügst. Achte darauf, die Logik entsprechend anzupassen.

3. Kann ich die UserForm in Excel 2016 verwenden?
Ja, der vorgestellte Code funktioniert in Excel 2016 und anderen Versionen, die VBA unterstützen.

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