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

Schaltfläche deaktivieren?

Forumthread: Schaltfläche deaktivieren?

Schaltfläche deaktivieren?
13.02.2003 14:22:48
Kurt Bloch
Hallo

Ich suche eine Möglichkeit, eine Schaltfläche vom Inhalt einer anderen Zelle zu aktivieren resp. zu deaktivieren. Der Anwender soll also erst das Makro starten können, wenn die Bedingung erfüllt ist (z.B. Wert in der Zelle A1 => 5.

Weiss jemand Rat?

Danke im Voraus.

Kurt

Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Schaltfläche deaktivieren?
13.02.2003 14:27:31
Steffen D

Hi Kurt,

kopiere diesen Code:

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("A1").Value >= 5 Then
Sheets("Tabelle1").CommandButton1.Enabled = True
End If
End Sub

in den Codebereich der Tabelle1 und ändere die Eigenschaft "Enabled" der Schaltfläche auf False!

Gruß
Steffen D

Anzeige
Re: Schaltfläche deaktivieren?
13.02.2003 14:29:31
MRR

Hi Kurt,
sofern Dein Button aus der Steuerelement-Symbolleiste kommt, folgender Code für das Tabellenblatt:

HTH, Matthias

Re: Schaltfläche deaktivieren?
13.02.2003 14:29:32
MRR

Hi Kurt,
sofern Dein Button aus der Steuerelement-Symbolleiste kommt, folgender Code für das Tabellenblatt:

HTH, Matthias

Anzeige
Re: Schaltfläche deaktivieren?
13.02.2003 14:29:32
MRR

Hi Kurt,
sofern Dein Button aus der Steuerelement-Symbolleiste kommt, folgender Code für das Tabellenblatt:

HTH, Matthias

Re: Schaltfläche deaktivieren?
13.02.2003 14:34:04
PeterW

Hallo Kurt,

hier noch eine Alternative, die dem User erzählt, warum das Makro noch nicht laufen kann.

Gruß
Peter

Anzeige
Re: Schaltfläche deaktivieren?
13.02.2003 16:01:31
Kurt

Vielen Dank für all die tollen Ansätze!

Re: Schaltfläche deaktivieren?
13.02.2003 16:46:09
Kurt

Hallo Steffen D

Was meinst Du genau mit "ändere die Eigenschaft der Schaltfläche auf Enabled"?. Wo stelle ich das ein? Ist es von Belang, ob ich eine Schaltfläche aus der Symbolleiste "Formular" oder "Steuerelement-Toolbox" wähle?

Da ich die Buttons sprachabhängig beschrifte, habe ich nämlich auf ein Formular-Button zurückgegriffen.

Gruss

Kurt


Anzeige
Re: Schaltfläche deaktivieren?
13.02.2003 17:10:10
Kurt

Hallo Steffen D
Was meinst Du genau mit "ändere die Eigenschaft der Schaltfläche auf Enabled"?. Wo stelle ich das ein? Ist es von Belang, ob ich eine Schaltfläche aus der Symbolleiste "Formular" oder "Steuerelement-Toolbox" wähle?

Da ich die Buttons sprachabhängig beschrifte, habe ich nämlich auf ein Formular-Button zurückgegriffen.

Gruss

Kurt


Anzeige
Re: Schaltfläche deaktivieren?
13.02.2003 22:00:34
Steffen D

Hi,

benutze den Button aus der Steuerelementen-Toolbox, dort kannst du dann die Eigenschaften(wie im VB-Editor) ändern/einstellen.

wenn du es dort nicht findest sags mir dann bescheid

Gruß aus Baden Württemberg

Steffen D

Re: Schaltfläche deaktivieren?
14.02.2003 12:17:23
Steffen D

Hallo Kurt,

ich habe folgendes geschrieben:
-> ändere die Eigenschaft "Enabled" der Schaltfläche auf False!

das kannst du nur machen wenn du den CommandButton der Steuerelementen-Toolbox (nicht Formular Symbolleiste!) verwendest!

erstellen dann so einen button,
klicke mit rechter maustaste auf diesen und wähle dann Eigenschaften aus!,
Dort gibts dann eine Eigenschaft "Enabled", diese musst du jetzt auf False setzen (False in der liste auswählen). Damit bleibt die Schaltfläche standardmäßig deaktiviert!

ich hoffe dass du jetzt verstanden hast,

Gruß
Steffen D

Anzeige
Re: Schaltfläche deaktivieren?
14.02.2003 22:41:14
Kurt

Hallo Steffen

Inzwischen ist mir klar, wie Du das gemeint hast. Danke! Nun bin ich aber in einer Zwickmühle. Wie bereits beschrieben, ändert sich der Button-Text, je nachdem welche Sprache mittels Check-Button aktiviert wurde. Diese Funktionalität ist mir bisher nur mittels Formular-Button gelungen, da ich nach Erstellen des Buttons in der Eingabezeile ein Bezug auf einer fremden Zelle machen kann, welche den Text liefert. Diese besagte Zelle ist jeweils mit der richtigen Sprache abgefüllt. So stimmt auch der Text immer.

Inzwischen ist mir eine banale Lösung eingefallen, die jedoch bei weitem nicht so elegant und toll ist wie deine. Mein Button wird leider nicht inaktiv. Wenn man aber darauf klickt, prüft das Macro, ob der Wert in der Zelle A1 >= 5 ist. Wenn nicht, erscheint eine MsgBox mit einem Hinweis und der Möglichkeit, OK zu drücken.

Wenn Du eine bessere Lösung weisst, bin ich Dir dankbar.

Schönes Wochenende!

Gruss aus der Schweiz (daher die Sprachversion :-) )

Kurt

Anzeige
;
Anzeige

Infobox / Tutorial

Schaltfläche in Excel aktivieren und deaktivieren


Schritt-für-Schritt-Anleitung

  1. Öffne dein Excel-Dokument und gehe zu dem Arbeitsblatt, in dem du die Schaltfläche verwenden möchtest.
  2. Füge eine Schaltfläche hinzu:
    • Gehe auf die Registerkarte "Entwicklertools" und wähle die "Steuerelemente".
    • Wähle die "Schaltfläche (Befehlsschaltfläche)" aus der Steuerelement-Toolbox.
  3. Bearbeite die Eigenschaften der Schaltfläche:
    • Klicke mit der rechten Maustaste auf die Schaltfläche und wähle "Eigenschaften".
    • Setze die Eigenschaft "Enabled" auf False, um die Schaltfläche zunächst zu deaktivieren.
  4. Füge den VBA-Code hinzu:
    • Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.
    • Wähle das entsprechende Arbeitsblatt aus, in dem die Schaltfläche platziert ist.
    • Füge den folgenden Code in das Codefenster ein:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Range("A1").Value >= 5 Then
        Sheets("Tabelle1").CommandButton1.Enabled = True
    Else
        Sheets("Tabelle1").CommandButton1.Enabled = False
    End If
End Sub
  1. Testen: Ändere den Wert in Zelle A1 und beobachte, wie die Schaltfläche aktiviert oder deaktiviert wird.

Häufige Fehler und Lösungen

  • Schaltfläche bleibt deaktiviert: Überprüfe, ob der Code im richtigen Arbeitsblatt platziert ist. Der Code muss im Codebereich des spezifischen Arbeitsblatts sein, nicht in einem allgemeinen Modul.
  • VBA-Sicherheitswarnungen: Stelle sicher, dass die Makros in Excel aktiviert sind, um den VBA-Code auszuführen.
  • Schaltfläche funktioniert nicht: Vergewissere dich, dass die Schaltfläche als "CommandButton" aus der Steuerelement-Toolbox erstellt wurde und nicht aus der Formular-Symbolleiste.

Alternative Methoden

Eine andere Möglichkeit, die Schaltfläche zu deaktivieren, besteht darin, eine MsgBox anzuzeigen, wenn der Benutzer auf die Schaltfläche klickt, bevor die Bedingung erfüllt ist. Du kannst den folgenden Code verwenden:

Private Sub CommandButton1_Click()
    If Range("A1").Value < 5 Then
        MsgBox "Der Wert in A1 muss mindestens 5 sein, um das Makro auszuführen."
    Else
        ' Hier kann der Code für das Makro eingefügt werden
    End If
End Sub

Praktische Beispiele

Ein einfaches Beispiel für die Verwendung einer Schaltfläche könnte das Starten eines Berechnungs-Makros sein, das nur ausgeführt wird, wenn der Wert in Zelle A1 mindestens 5 beträgt. Nutze den oben genannten VBA-Code, um die gewünschte Funktionalität zu erreichen.


Tipps für Profis

  • Benutzerfreundlichkeit: Füge eine visuelle Rückmeldung hinzu, wie z.B. das Ändern der Schaltflächenfarbe, wenn sie aktiviert wird.
  • Zellüberwachung: Du kannst den Code so erweitern, dass er mehrere Zellen überwacht, um die Schaltfläche basierend auf verschiedenen Bedingungen zu aktivieren oder zu deaktivieren.
  • Erweiterte Fehlermeldungen: Informiere den Benutzer nicht nur, dass die Schaltfläche deaktiviert ist, sondern gib auch an, warum dies der Fall ist.

FAQ: Häufige Fragen

1. Wie entferne ich eine Schaltfläche in Excel? Um eine Schaltfläche zu entfernen, klicke mit der rechten Maustaste auf die Schaltfläche und wähle "Ausschneiden" oder drücke die Entf-Taste.

2. Kann ich eine Schaltfläche mit einer Bedingung aktivieren, die auf mehreren Zellen basiert? Ja, du kannst den VBA-Code so anpassen, dass er mehrere Zellen überprüft. Verwende logische Operatoren wie And oder Or, um die Bedingungen zu kombinieren.

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