KutoolsforOffice — Eine Lösung, fünf leistungsstarke Tools.Mehr erreichen mit weniger Aufwand.März-Aktion: 20 % Rabatt

Wie lässt sich eine Schaltfläche in Excel basierend auf einem Zellenwert aktivieren oder deaktivieren?

AutorXiaoyang Änderungsdatum

In diesem Artikel erfahren Sie, wie Sie eine Schaltfläche im Excel-Arbeitsblatt basierend auf einem Zellenwert aktivieren oder deaktivieren können.

Zwei Schaltflächen basierend auf Daten aus zwei Spalten mit VBA-Code aktivieren oder deaktivieren

Eine Schaltfläche basierend auf zwei Zellenwerten mit VBA-Code aktivieren oder deaktivieren


Zwei Schaltflächen basierend auf Daten aus zwei Spalten mit VBA-Code aktivieren oder deaktivieren

Beispielsweise befinden sich zwei Befehlsschaltflächen in einem Arbeitsblatt: Enthält Spalte A Daten, ist Schaltfläche 1 aktiviert und Schaltfläche 2 deaktiviert; enthält hingegen Spalte C Daten, ist Schaltfläche 2 aktiviert und Schaltfläche 1 deaktiviert. Der folgende VBA-Code hilft Ihnen, diese Aufgabe zu lösen.

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

Ein Screenshot der Öffnung des VBA-Code-Editors in Excel

2. Fügen Sie im Fenster Microsoft Visual Basic für Applikationen den folgenden Code in das leere Modul ein:

VBA-Code: Zwei Schaltflächen basierend auf zwei Spalten aktivieren oder deaktivieren:

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

Ein Screenshot, der zeigt, wie man den VBA-Code verwendet, um zwei Schaltflächen zu deaktivieren

Hinweis: Im obigen Code sind CommandButton1 und CommandButton2 die Namen der Schaltflächen, A:A und C:C die beiden Spalten, anhand derer die Schaltflächen aktiviert oder deaktiviert werden. Passen Sie diese entsprechend Ihren Anforderungen an.

3. Schließen Sie anschließend das Codefenster – und schon erhalten Sie das gewünschte Ergebnis:

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

Ein Screenshot, der zeigt, dass eine Schaltfläche verwendet werden kann und eine deaktiviert ist, basierend auf dem Wert in Spalte A

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

Ein Screenshot, der zeigt, dass eine Schaltfläche verwendet werden kann und eine deaktiviert ist, basierend auf dem Wert in Spalte C

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

Ein Screenshot, der zeigt, dass beide Schaltflächen verwendet werden können, wenn Spalte A und C Daten enthalten

(4.) Beide Schaltflächen sind deaktiviert, wenn weder in Spalte A noch in Spalte C Daten vorhanden sind (siehe Screenshot):

Ein Screenshot, der zeigt, dass beide Schaltflächen deaktiviert sind, wenn keine Daten in Spalte A und C vorhanden sind


Eine Schaltfläche basierend auf zwei Zellenwerten mit VBA-Code aktivieren oder deaktivieren

Wenn Sie eine Befehlsschaltfläche basierend auf zwei Zellenwerten aktivieren oder deaktivieren möchten – beispielsweise soll die Schaltfläche aktiviert sein, sobald der Wert in A1 größer ist als der Wert in B1, andernfalls deaktiviert bleiben – unterstützt Sie der folgende VBA-Code ebenfalls.

1. Klicken Sie mit der rechten Maustaste auf das Blatt, das die Schaltfläche enthält, und wählen Sie im Kontextmenü Code anzeigen aus. Fügen Sie im Fenster Microsoft Visual Basic für Applikationen den folgenden Code in das leere Modul ein (siehe Screenshot):

VBA-Code: Eine Schaltfläche basierend auf zwei Zellenwerten aktivieren oder deaktivieren:

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

Ein Screenshot, der zeigt, wie man den VBA-Code verwendet, um eine Schaltfläche zu aktivieren oder zu deaktivieren

Hinweis: Im obigen Code sind A1 und B1 die verwendeten Zellenwerte, CommanButton1 der Name der Schaltfläche. Passen Sie diese entsprechend Ihren Anforderungen an.

2. Schließen Sie anschließend das Codefenster. Wenn der Wert in Zelle A1 größer als der in B1 ist, wird die Schaltfläche aktiviert; ist er kleiner, wird sie deaktiviert (siehe Screenshot):

Ein Screenshot, der den unterschiedlichen Status einer Schaltfläche basierend auf dem Zellenwert zeigt


Beste Office-Produktivitätstools

🤖KUTOOLS AI-Assistent: Revolutionieren Sie Datenanalyse basierend auf:Intelligente Ausführung   |  Code generieren|  benutzerdefinierte Formeln erstellen  |  Daten analysieren und Diagramme erstellen|  Erweiterte Funktionen aufrufen
Beliebte Funktionen:Suchen, hervorheben oder Doppelte markieren   |  Leere Zeilen löschen   |  Spalten kombinieren oder Zellen ohne Datenverlust   |   Runden ohne Formel...
Erweiterte SVERWEIS:VLookup mit mehreren Kriterien  |  VLookup mit mehreren Werten  |   VLookup über mehrere Arbeitsblätter hinweg   |   Fuzzy Match....
Erweiterte Dropdown-Liste:Schnell eine Dropdown-Liste erstellen   |  Abhängige Dropdown-Liste   |  Mehrfachauswahl-Dropdown-Liste....
Spalten-Manager:Eine bestimmte Anzahl von Spalten hinzufügen|Spalten verschieben|Sichtbarkeitsstatus ausgeblendeter Spalten umschalten|Bereiche & Spalten vergleichen...
Hervorgehobene Funktionen:Gitterfokus   |  Entwurf   |Erweiterte Formelleiste   | Arbeitsmappen- & Blatt-Manager   |  Ressourcenbibliothek(AutoText)|  Datumsauswahl   |  Arbeitsblätter konsolidieren  |  Verschlüsseln/Zellen entschlüsseln   | E-Mails per Liste versenden   |  Super Filter   |   Spezialfilter(Zellen mit fettgedruckter Schrift filtern/kursiv/durchgestrichen...) ...
Top-15-Toolsets:12-Text-Tools(Text hinzufügen,Bestimmte Zeichen löschen, ...)|   50+-Diagramm-Typen(Gantt-Diagramm, ...)|   40+ Praktische Formeln(Alter basierend auf dem Geburtstag berechnen, ...)|   19-Einfüge-Tools(QR-Code einfügen,Bild aus Pfad einfügen, ...)|   12-Konvertierungs-Tools(In Wörter umwandeln,Wechselkursumrechnung, ...)|   7-Vereinigen/Aufteilen-Tools(Erweiterte Zeilen zusammenführen,Zellen aufteilen, ...)|... und mehr
Verwenden Sie Kutools in Ihrer bevorzugten Sprache – unterstützt Englisch, Spanisch, Deutsch, Französisch, Chinesisch und 40+ weitere Sprachen!

Verbessern Sie Ihre Excel-Kenntnisse mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor.Kutools für Excel bietet über 300 erweiterte Funktionen zur Steigerung der Produktivität und Zeit sparen.Klicken Sie hier, um die Funktion zu erhalten, die Sie am dringendsten benötigen...


Office Tab bringt eine tabbasierte Oberfläche in Office und macht Ihre Arbeit viel einfacher

  • Aktivieren Sie tabbasiertes Bearbeiten und Lesen in Word, Excel, PowerPoint, Publisher, Access, Visio und Project.
  • Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters – statt jedes in einem separaten Fenster zu öffnen.
  • Steigert Ihre Produktivität um 50 % und erspart Ihnen täglich Hunderte von Mausklicks!

Alle Kutools-Add-Ins – ein Installationsprogramm

Kutools for Office-Paket bündelt Add-Ins für Excel, Word, Outlook und PowerPoint sowie Office Tab Pro – ideal für Teams, die mit mehreren Office-Anwendungen arbeiten.

ExcelWordOutlookTabsPowerPoint
  • Alles-in-einem-Paket— Add-Ins für Excel, Word, Outlook & PowerPoint sowie Office Tab Pro
  • Ein Installationsprogramm, eine Lizenz— innerhalb weniger Minuten eingerichtet (MSI-fähig)
  • Funktioniert besser zusammen— optimierte Produktivität über alle Office-Anwendungen hinweg
  • 30-tägige Vollversion zum Testen— keine Registrierung, keine Kreditkarte erforderlich
  • Bestes Preis-Leistungs-Verhältnis— sparen Sie im Vergleich zum Kauf einzelner Add-Ins