Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
892to896
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
892to896
892to896
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Type:=msoControlButton, ID:=850)

Type:=msoControlButton, ID:=850)
10.08.2007 15:46:00
Ina
Hallo Forum,
ich habe in einen eigenes Menü über VBA erstellt und dabei einen ControlButton mit ID:=850 eingefügt,
also eine Checkbox.
Leider habe ich es bisher nur geschafft, mit OnAction ein Makro zu verknüpfen,
wie kann ich aber den Status dieser Checkbox ändern?
Muss ich eine neue ID (ohne Checkbox) zuweisen? Wenn ja, wie mache ich den das?
Danke schonmal!
Gruß
Ina

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Type:=msoControlButton, ID:=850)
10.08.2007 19:47:48
Original
Hi,
eine Checkbox gibt es in Commandbars nicht, das musst du über eine Abfrage der
Eigenschaft State des Button schon selbst basteln.
Poste mal deinen relevanten Code.
mfg Kurt

AW: Type:=msoControlButton, ID:=850)
13.08.2007 07:27:00
Ina
Hallo Kurt,
Danke für deine Antwort;
der Code könnte so aussehen:
Set Ma = Application.CommandBars(1).Controls.Add(Type:=msoControlPopup, temporary:=True)
Ma.Caption = "Menü 1"
Set Mb = Ma.Controls.Add(Type:=msoControlButton, ID:=850)
With Mb
.Caption = "Beispiel"
.Style = msoButtonIconAndCaption
.OnAction = "Makro1"
End With
Was meinst du, wie kann ich den State abfragen und wie könnte ich dann das Format des Buttons ändern?
Gruß
Ina

Anzeige
AW: Type:=msoControlButton, ID:=850)
13.08.2007 12:20:59
Original
Hi,
Option Explicit
Const NM$ = "Menü 1"
Dim Ma As CommandBarPopup
Dim Mb As CommandBarButton

Sub til()
Call Loesch
Set Ma = CommandBars(1).Controls.Add(Type:=10, temporary:=True)
Ma.Caption = NM
Set Mb = Ma.Controls.Add(Type:=1, ID:=850)
With Mb
.Caption = "Beispiel"
.Style = 3
.OnAction = "Makro1"
.State = 0
.FaceId = 1
End With
End Sub



Sub Makro1()
With Mb
If .State = 0 Then
.State = -1
.FaceId = 1664
MsgBox "Ein"
Else
.State = 0
.FaceId = 1
MsgBox "Aus"
End If
End With
End Sub



Sub Loesch()
On Error Resume Next
CommandBars(1).Controls(NM).Delete
End Sub


mfg Kurt

Anzeige
AW: Type:=msoControlButton, ID:=850)
13.08.2007 14:49:25
Ina
Danke Kurt, das funktioniert gut.
Habe das auch mit
Application.CommandBars.ActionControl
msoButtonUp/Down hinbekommen.
Gruß
Ina

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige