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

CommandButton in Abhängigkeit einblenden?

Forumthread: CommandButton in Abhängigkeit einblenden?

CommandButton in Abhängigkeit einblenden?
22.01.2004 10:45:13
Michael
Hallo,
ich brauch mal wieder Hilfe.
Lässt es sich irgendwie realisieren da ein Commandbutton nur eingeblendet wird wenn eine Bedingung erfüllt ist.
so nach dem Schema wenn A1=wert dann Commandbutton visible=true
Gruss Michael
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: CommandButton in Abhängigkeit einblenden?
22.01.2004 10:50:38
soendi
aber michael... :-)
wenn du die lösung schon weisst, warum machst dus dann nicht so?
If Tabelle1.Cells(1,1)=10 Then CommandButton1.Visible=False
gruss
soendi
AW: CommandButton in Abhängigkeit einblenden?
22.01.2004 10:50:57
MikeS
Hallo,
so z.B.:


Option Explicit
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
  If Not IsEmpty([A1]) Then
    ActiveSheet.CommandButton1.Visible = True
  Else
    ActiveSheet.CommandButton1.Visible = False
  End If
End Sub


     Code eingefügt mit Syntaxhighlighter 2.5

Ciao MikeS
Anzeige
funkt leider nicht, hab code gepostet
22.01.2004 12:23:31
Michael
Hallo noch mal,
so sieht mein Code jetzt aus:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim EBereich As Range
Set EBereich = Range("I21:I88")
If Target.Cells.Count = 1 Then
If Intersect(Target, EBereich) Is Nothing Then Exit Sub
Target = UCase(Target)
End If
If Not IsEmpty([G14]) Then
ActiveSheet.CommandButton1.Visible = True
ActiveSheet.CommandButton2.Visible = True
ActiveSheet.CommandButton3.Visible = False
ActiveSheet.CommandButton4.Visible = False
Else
ActiveSheet.CommandButton1.Visible = False
ActiveSheet.CommandButton2.Visible = False
ActiveSheet.CommandButton3.Visible = True
ActiveSheet.CommandButton4.Visible = True
End If
End Sub

aber es funktioniert leider nicht, es werden immer die CB 3 und 4 angezeigt!
Der Wert in G14 wird übrigens aus einer Userform eingefügt.
Gruss
Anzeige
AW: CommandButton in Abhängigkeit einblenden?
22.01.2004 10:56:11
Gorginio
Hi warum probierst du es nicht so?

cmdbutton1.Visible = False
if blablabla= irgendwas then cmdbutton1.visible = True
lg Gorginio
Jetzt funkt es, Ihr habt mir sehr geholfen
22.01.2004 13:27:45
Michael
:-)
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

CommandButton in Abhängigkeit einblenden


Schritt-für-Schritt-Anleitung

Um einen CommandButton in Excel VBA abhängig von einer Bedingung ein- oder auszublenden, kannst du folgenden Code verwenden. Dies funktioniert in der Regel in Excel-Versionen, die VBA unterstützen (z.B. Excel 2010 bis 2021).

  1. Öffne die Excel-Datei und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Suche das entsprechende Arbeitsblatt im Projektfenster, in dem du den CommandButton einblenden möchtest.
  3. Füge den folgenden Code in das Codefenster des Arbeitsblattes ein:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    If Not IsEmpty([A1]) Then
        CommandButton1.Visible = True
    Else
        CommandButton1.Visible = False
    End If
End Sub
  1. Schließe den VBA-Editor und teste die Funktion, indem du die Zelle A1 änderst. Der CommandButton sollte nun entsprechend sichtbar oder unsichtbar werden.

Häufige Fehler und Lösungen

  • Fehler: Der Button bleibt immer sichtbar.

    • Lösung: Überprüfe, ob die Zelle A1 tatsächlich eine Bedingung erfüllt. Stelle sicher, dass die Zelle nicht leer ist und dass der Code in der richtigen Worksheet-Instanz eingefügt wurde.
  • Fehler: Der Button wird nicht korrekt ein- oder ausgeblendet.

    • Lösung: Stelle sicher, dass der Name des CommandButton korrekt geschrieben ist. Der Standardname ist CommandButton1.

Alternative Methoden

Eine weitere Möglichkeit, die Sichtbarkeit eines CommandButton zu steuern, ist die Verwendung von VBA in einer UserForm. Du kannst den Status des CommandButton basierend auf Eingaben in Textfeldern oder anderen Steuerelementen ändern.

Private Sub TextBox1_Change()
    If TextBox1.Text <> "" Then
        Me.CommandButton1.Visible = True
    Else
        Me.CommandButton1.Visible = False
    End If
End Sub

Praktische Beispiele

Hier sind einige praktische Anwendungen, wie du die Sichtbarkeit eines VBA CommandButton steuern kannst:

  • Beispiel 1: Wenn der Wert in einer bestimmten Zelle (G14) aus einer UserForm kommt, kannst du diese Logik in dein Worksheet_Change-Ereignis integrieren.
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    If Not IsEmpty([G14]) Then
        CommandButton1.Visible = True
    Else
        CommandButton1.Visible = False
    End If
End Sub
  • Beispiel 2: Ein CommandButton wird sichtbar, wenn der Benutzer eine Auswahl in einer Dropdown-Liste trifft.
Private Sub ComboBox1_Change()
    If ComboBox1.Value <> "" Then
        CommandButton1.Visible = True
    Else
        CommandButton1.Visible = False
    End If
End Sub

Tipps für Profis

  • Verwende Application.ScreenUpdating = False, um Flackern beim Ein- und Ausblenden von CommandButtons zu vermeiden.
  • Nutze With-Blöcke, um den Code bei mehreren Button-Änderungen effizienter zu gestalten:
With ActiveSheet
    .CommandButton1.Visible = True
    .CommandButton2.Visible = False
End With
  • Halte deinen Code sauber und gut dokumentiert, um die Wartung zu erleichtern.

FAQ: Häufige Fragen

1. Wie kann ich mehrere CommandButtons gleichzeitig ein- oder ausblenden? Du kannst mehrere CommandButtons innerhalb des gleichen Worksheet_Change-Ereignisses anpassen, indem du ihre Sichtbarkeit nacheinander festlegst.

2. Funktioniert das auch in Excel Online? Nein, VBA wird in Excel Online nicht unterstützt. Diese Methoden sind nur in der Desktop-Version von Excel verfügbar.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige