Excel VBA Button Enable?

1 Antwort

Hallo,

zum aus/einblenden verwendet man die Eigenschaft ".Visible", ".Enabled" müsste lediglich die Funktion des Objekts deaktivieren. Du prüfst außerdem nicht die Zelle A1 auf den Wert 2, sondern gibst stattdessen der Variablen "rngButton1" den Wert "A1" und prüfst ob diese Variable den Wert 2 enthällt.

Dieser Code sollte funktionieren:

Private Sub Worksheet_Change(ByVal Target As Range)
If ActiveSheet.Range("A1") = 2 Then
    ActiveSheet.CommandButton1.Visible = True
    Else
    ActiveSheet.CommandButton1.Visible = False
End If
End Sub
Slevi89 
Fragesteller
 09.07.2020, 12:35

Auch dein Programmcode liefert kein Fehler, aber der Code funktioniert nur 1 mal.

Sprich. Ich ändere den Wert in Zelle A1 auf 1 und der Button verschwindet, aber mit anschließedner Änderung auf 2, taucht dieser nicht mehr auf

1
DanKirpan  09.07.2020, 13:13
@Slevi89

:? dieses Verhalten kann ich mir nicht erklären und schaffe es auch nicht zu reproduzieren. Anscheinend wird der Code bei dir beim Wechseln des Zellwertes auf 2 nicht ausgeführt, daher vermute ich die Ursache bim Worksheet_Change, funktioniert es wenn du einen anderen Trigger verwendest, z.B eine Selektionsänderung?:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If ActiveSheet.Range("A1") = 2 Then
    ActiveSheet.CommandButton1.Visible = True
    Else
    ActiveSheet.CommandButton1.Visible = False
End If
End Sub


2