Zum Hauptinhalt springen

Wie aktiviert oder deaktiviert man eine Schaltfläche basierend auf einem Zellenwert in Excel?

Author: Xiaoyang Last Modified: 2025-05-28

In diesem Artikel werde ich über einige Methoden sprechen, um eine Schaltfläche basierend auf einem Zellenwert in einem Excel-Arbeitsblatt zu aktivieren oder zu deaktivieren.

Aktivieren oder Deaktivieren von zwei Schaltflächen basierend auf Daten aus zwei Spalten mit VBA-Code

Aktivieren oder Deaktivieren einer Schaltfläche basierend auf zwei Zellenwerten mit VBA-Code


Aktivieren oder Deaktivieren von zwei Schaltflächen basierend auf Daten aus zwei Spalten mit VBA-Code

Zum Beispiel habe ich zwei Befehlsschaltflächen in einem Arbeitsblatt. Wenn Spalte A Daten enthält, ist Schaltfläche 1 aktiviert und Schaltfläche 2 deaktiviert; wenn Spalte C Daten enthält, ist Schaltfläche 2 aktiviert und Schaltfläche 1 deaktiviert. Um diese Aufgabe zu lösen, kann der folgende VBA-Code helfen.

1. Klicken Sie mit der rechten Maustaste auf das Blatt, das die Schaltflächen enthält, und wählen Sie dann Ansicht Code aus dem Kontextmenü, siehe Screenshot:

a screenshot of opening the VBA code editor in Excel

2. Im Fenster Microsoft Visual Basic for Applications kopieren Sie bitte den folgenden Code und fügen ihn in das leere Modul ein:

VBA-Code: Aktivieren oder Deaktivieren von zwei Schaltflächen basierend auf zwei Spalten:

Private Sub Worksheet_Change(ByVal Target As Range)
    CommandButton1.Enabled = False
    CommandButton2.Enabled = False
    If Application.WorksheetFunction.CountA(Range("C:C")) > 0 Then
        CommandButton2.Enabled = True
    End If
    If Application.WorksheetFunction.CountA(Range("A:A")) > 0 Then
        CommandButton1.Enabled = True
    End If
End Sub

a screenshot showing how to use the VBA code to disable two buttons

Hinweis: Im obigen Code sind CommandButton1 und CommandButton2 die Namen der Schaltflächen, A:A und C:C sind die beiden Spalten, die Sie verwenden, um zwei Schaltflächen zu aktivieren oder zu deaktivieren, ändern Sie sie nach Bedarf.

3. Speichern Sie dann das Codefenster und schließen Sie es. Nun erhalten Sie das folgende Ergebnis, wie Sie es benötigen:

(1.) Wenn Sie Daten in Spalte A eingeben, ist Schaltfläche 1 aktiviert und Schaltfläche 2 deaktiviert, siehe Screenshot:

a screenshot showing one button can be used and one is disabled based on value in column A

(2.) Wenn Sie Daten in Spalte C eingeben, ist Schaltfläche 2 aktiviert und Schaltfläche 1 deaktiviert, siehe Screenshot:

a screenshot showing one button can be used and one is disabled based on value in column C

(3.) Wenn sowohl Spalte A als auch Spalte C Daten enthalten, sind beide Schaltflächen aktiviert, siehe Screenshot:

a screenshot showing both buttons can be used when column A and C have data

(4.) Wenn es keine Daten in Spalte A und Spalte C gibt, sind beide Schaltflächen deaktiviert, siehe Screenshot:

a screenshot showing both buttons are disabled when no data is in column A and C


Aktivieren oder Deaktivieren einer Schaltfläche basierend auf zwei Zellenwerten mit VBA-Code

Wenn Sie eine Befehlsschaltfläche basierend auf zwei Zellenwerten aktivieren oder deaktivieren möchten, zum Beispiel, wenn der Wert in A1 größer als der Wert in B1 ist, ist die Schaltfläche aktiviert, andernfalls ist die Schaltfläche deaktiviert. Der folgende VBA-Code kann Ihnen ebenfalls helfen.

1. Klicken Sie mit der rechten Maustaste auf das Blatt, das die Schaltfläche enthält, und wählen Sie dann Ansicht Code aus dem Kontextmenü. Im Fenster Microsoft Visual Basic for Applications kopieren Sie bitte den folgenden Code und fügen ihn in das leere Modul ein, siehe Screenshot:

VBA-Code: Aktivieren oder Deaktivieren einer Schaltfläche basierend auf zwei Zellenwerten:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim TargetAdd As String
    Dim xTemp As Double
    On Error GoTo ExitSub
    TargetAdd = Target.Address
    CommandButton1.Enabled = False
    If (TargetAdd = Range("A1").Address) Or (TargetAdd = Range("B1").Address) Then
        If Range("A1") > Range("B1") Then
            CommandButton1.Enabled = True
        End If
    End If
ExitSub:
End Sub

a screenshot showing how to use the VBA code to enable or disable a button

Hinweis: Im obigen Code sind A1 und B1 die Zellenwerte, die Sie verwenden, CommanButton1 ist der Name der Schaltfläche, ändern Sie sie entsprechend Ihren Anforderungen.

2. Speichern Sie dann das Codefenster und schließen Sie es. Nun ist die Schaltfläche aktiviert, wenn der Zellenwert in A1 größer als in B1 ist, andernfalls ist die Schaltfläche deaktiviert, wenn der Zellenwert in A1 kleiner als in B1 ist, siehe Screenshot:

a screenshot showing the different status of a button based on cell value


Beste Büroproduktivitätswerkzeuge

🤖 Kutools AI-Assistent: Revolutionieren Sie die Datenanalyse basierend auf: Intelligente Ausführung   |  Code generieren  |  Benutzerdefinierte Formeln erstellen  |  Daten analysieren und Diagramme generieren  |  Erweiterte Funktionen aufrufen
Beliebte Funktionen: Finden, Hervorheben oder Doppelte markieren   |  Leere Zeilen löschen   |  Spalten oder Zellen kombinieren ohne Datenverlust   |   Runden ...
Erweiterte SVERWEIS: Mehrfachkriterien SVERWEIS    Mehrfachwert SVERWEIS  |   Mehrblatt-SVERWEIS   |   Fuzzy Match ....
Erweiterte Dropdown-Liste: Schnell Dropdown-Liste erstellen   |  Abhängige Dropdown-Liste   |  Mehrfachauswahl Dropdown-Liste ....
Spaltenmanager: Eine bestimmte Anzahl von Spalten hinzufügen  |  Spalten verschieben  |  Sichtbarkeitsstatus ausgeblendeter Spalten umschalten  |  Bereiche & Spalten vergleichen ...
Hervorgehobene Funktionen: Gitterfokus   |  Entwurfsansicht   |   Erweiterte Formelleiste    Arbeitsmappe & Arbeitsblatt-Manager   |  AutoText-Bibliothek (Auto Text)   |  Datumsauswahl   |  Daten zusammenführen   |  Zellen verschlüsseln/entschlüsseln    E-Mail senden nach Liste   |  Spezialfilter   |   Spezialfilter (Filtern fett/kursiv/durchgestrichen...) ...
Top15 Werkzeugsets12 Textwerkzeuge (Text hinzufügen, Bestimmte Zeichen löschen, ...)   |   50+ Diagramm typen (Gantt-Diagramm, ...)   |   40+ Praktische Formeln (Alter basierend auf dem Geburtsdatum berechnen, ...)   |   19 Einfügewerkzeuge (QR-Code einfügen, Bild aus Pfad einfügen, ...)   |   12 Konvertierungswerkzeuge (In Wörter umwandeln, Währungsumrechnung, ...)   |   7 Konsolidieren & Aufteilen Werkzeuge (Erweiterte Zeilen zusammenführen, Zellen aufteilen, ...)   |   ... und mehr

Verbessern Sie Ihre Excel-Fähigkeiten mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor. Kutools für Excel bietet über300 erweiterte Funktionen zur Steigerung der Produktivität und Zeitersparnis.  Klicken Sie hier, um die Funktion zu erhalten, die Sie am meisten benötigen...


Office Tab bringt eine Registerkartenoberfläche zu Office und macht Ihre Arbeit viel einfacher

  • Aktivieren Sie die Bearbeitung und das Lesen mit Registerkarten in Word, Excel, PowerPoint, Publisher, Access, Visio und Project.
  • Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters, anstatt in neuen Fenstern.
  • Steigert Ihre Produktivität um50 % und reduziert täglich hunderte von Mausklicks für Sie!