Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
376to380
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
376to380
376to380
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

eigene Schaltfläche.Enable = false

eigene Schaltfläche.Enable = false
04.02.2004 10:10:54
Kristin
Hallo,
je nachdem welches Sheet aktiv ist möchte ich die Buttons auf meiner CommansBar enabled oder nicht enabled setzen (wie z.B. bei Rückgangig in der Standardleiste). Habe bisher immmer die ganze Leiste gelöscht und wieder erstellt, das sieht aber fürchterlich aus, da die Leisten natürlich immerzu 'flackern'.
MediaBar ist meine Commandbar und PopUp_Extras mine Schaltfläche, habe schon verschiedene Dinge versucht, aber ich kann die Schaltfläche nach dem eigentlichen Erstellen nicht mehr 'disablen'.
Hier mein Ansatz:
MediaBar.Controls(PopUp_Extras).Enabled = False
oder sowas in der Art
Set PopUp_FarbAenderung = Application.CommandBars("MediaBar").Controls("PopUp_FarbAenderung")
With PopUp_FarbAenderung
.Enabled = Not .Enabled
Wer weiß was ich falsch mache?
Gruß Kristin

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: eigene Schaltfläche.Enable = false
04.02.2004 10:46:07
Galenzo
Hallo Kristin,
da bist du schon auf dem richtigen Weg!
Den Button hast du korrekt erzeugt (mit .Add) ? OK.
Nun kannst du die Eigenschaft .Enabled entsprechned der Anforderungen setzen.
Da dies immer beim Wechsel in ein anderes tabellenblatt erfolgen soll empfehle ich die die Verwendung des WorkSheet_Activate-Ereignisses. Dies wird immer dann ausgelöst, wenn ein anderes Blatt ausgewählt wird.
Dort schreibst du dann in den Code eines jeden Blattes:

Private Sub Worksheet_Activate()
Application.CommandBars("MediaBar").Controls("PopUp_FarbAenderung").Enabled = True
End Sub

(bzw. FALSE - je nach dem, ob der Knopp bei diesem Blatt aktiv sein soll, oder nicht)
Viel Erfolg!
Anzeige
AW: eigene Schaltfläche.Enable = false
04.02.2004 11:08:17
Kristin
Hallo Galenzo,
da es so nicht klappt nochmal ein paar mehr Infos zu dem Aufbau des Ganzen:
Habe ein Modul CmdBar, in dem die CmdBar erzeugt wird.
In den jeweiligen TabellenBlättern habe ich die Subs

Private Sub Worksheet_Activate()
MediaPlanCheck
End Sub

eingebaut, die die Sub MediaPlanCheck (in Modul CmdBar) aufrufen, was auch funktioniert, das habe ich mit MsgBox schon getestet.
Nur das beschribene Disable klappt nicht!
Habe meine Bar und die Buttons als Public oder auch normal aus Dim getestet, außerdem habe ich folgendes getestet:
1. Application.CommandBars(MediaBar).Controls(PopUp_FarbAenderung).Enabled = True
2. Application.CommandBars("MediaBar").Controls("PopUp_FarbAenderung").Enabled = True
beides unterscheidet sich nur in der Fehlermeldung.
1. Fehlermeldung "Typen unverträglich"
2. Fehlermeldung "ungültiger Prozeduraufruf oder ungültiges Argument"
ich bin ratlos.....
Gruß Kristin
Anzeige
AW: eigene Schaltfläche.Enable = false
04.02.2004 11:56:04
Galenzo
Hallo,
die CommandBar bzw. der CommandBarButton wird nur einmal erzeugt (mittels der Add-Methode) - am besten beim Öffnen der Mappe.
So - die ist jetzt da und man kann sie nun enablen/disablen.
Das machst du jeweils im WorkSheet_Activate-Ereignis eines jeden Tabellenblattes.
mfg
NOCH OFFEN!!
04.02.2004 12:35:17
Kristin
hallo noch mal,
ja, habe die Add-Methode benutzt, darum geht es aber nicht....auch um das Worksheet_Activate geht es nicht, das war nur zur Erläuterung des Problems. - das klappt auch.
Es geht um das .Enable = False/True
Das funktioniert noch nicht mal wenn ich es direkt ans Ende der CreateCmdBar Sub ranhänge!!!!
Das muss wohl anders gehen, sprich der Ansatz ist irgendwie falsch.
Bitte helft mir,
Kristin
Anzeige
AW: NOCH OFFEN!!
04.02.2004 13:09:08
Galenzo
.enabled
AW: NOCH OFFEN!!
04.02.2004 13:19:41
Kristin
ja, .enabled !
schon klar...aber das isses nicht, sorry.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige