Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
896to900
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
896to900
896to900
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Button in Menüleiste ändern
14.08.2007 15:26:39
Harald
Hallo,
ich habe eine eigene Menüleiste mit mehreren oBar.Controls.
Nun möchte ich einen davon wie folgt programmieren:
Bei jedem drücken soll er seinen Text ändern zwischen AKTIV und NICHT AKTIV.
Bei AKTIV soll auf Zellwechsel im aktiven Tabellenblatt reagiert werden, bei NICHT AKTIV soll darauf nicht reagiert werden.
Ganz toll wäre es, wenn dieser oBar.Controls auch je nach Text eine andere Farbe (oder Textfarbe) hätte oder blinken würde!
Wer kann mir dabei helfen?

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

Betreff
Datum
Anwender
Anzeige
AW: Button in Menüleiste ändern
14.08.2007 22:11:13
Uduuh
Hallo,
sollte prinzipiell recht simpel sein.
Lade doch mal die Mappe hoch.
Gruß aus’m Pott
Udo

AW: Button in Menüleiste ändern
15.08.2007 08:53:00
Harald
Hallo Udo,
wie gewünscht ist hier eine Beispielmappe - das Original ist mit ca. 5 MB zu gross zum Upload.
https://www.herber.de/bbs/user/45079.xls
m.f.g.
Harald

AW: Button in Menüleiste ändern
15.08.2007 10:38:00
Rudi
Hallo,
das sollte etwa so gehen:

Public blnAutoDruck As Boolean
Sub EigeneMenueleisteErstellen()
' >>>>>>>>>>>
Dim oBar As CommandBar
Dim oBox As CommandBarComboBox
Dim oBtn As CommandBarButton
Dim Blatt As Worksheet
Dim i As Integer
For Each oBar In Application.CommandBars
If oBar.Name = "Volleyball1" Then oBar.Delete
Next
On Error Resume Next
Application.CommandBars.Add("Volleyball1").Delete
On Error GoTo 0
' Name der 1. Menüleiste ist "Volleyball1"
Set oBar = Application.CommandBars.Add(Name:="Volleyball1", Position:=msoBarTop, temporary:= _
True)
oBar.Visible = True
' >>
Set oBtn = oBar.Controls.Add(Type:=msoControlButton)
With oBtn
.Style = msoButtonIconAndCaption
.FaceId = 1922
.Caption = "AKTIV"
.Enabled = True
.TooltipText = "automatischer Ausdruck ist aktiv"
.OnAction = "Autodruck"
End With
blnAutoDruck = True
End Sub
Sub Autodruck()
' bei jedem Klick Wechsel zwischen Captin = AKTIV und NICHT AKTIV
' wenn AKTIV, dann beim Wechseln der Zelle in Tabelle1 prüfen,
' ob in der Zeile, die ich verlasse, die Spalten C und D gefüllt sind
' wenn ja, dann weitere Befehle ausführen
With Application.CommandBars.ActionControl
If blnAutoDruck = True Then
.Caption = "NICHT AKTIV"
blnAutoDruck = False
Else
.Caption = "AKTIV"
blnAutoDruck = True
End If
End With
End Sub


In Worksheet_Change kannst du einfach blnAutoDruck abfragen und entsprechend reagieren.
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Anzeige
AW: Button in Menüleiste ändern
15.08.2007 11:44:00
Harald
Hallo Rudi,
vielen Dank für deine Hilfe!
Ich wusste nicht, wie ich den Button ansprechen kann.
Nun wollte ich deine Angabe nutzen und direkt dn Caption-Wert abfragen, aber da kommt immer eine Fehlermeldung
With Application.CommandBars.ActionControl
If .Caption = "AKTIV" Then ...
Auch beim prüfen der Zellen bekoome ich immer die Fehlermeldung, dass die Typen unverträglich sind:
If Worksheets(Tabelle1).Cells(3, "C").Value "" And Worksheets(Tabelle1).Cells(3, "D").Value ""
Was ist daran falsch?
Und kann ich die Text- oder Hintergrundfarbe des Buttons ändern?
m.f.g.
Harald

Anzeige
AW: Button in Menüleiste ändern
15.08.2007 12:53:00
Rudi
Hallo,
wenn du das per Worksheet_Change oder so machst, hat du kein ActionControl.
Actioncontrol ist der Button, der das Makro aufruft.
Abhilfe: verpasse dem Button zusätzlich ein 'Tag'.
With oBtn
.Tag="btnAktion"
...
...
End With
in Worksheet_Change dann
With With Application.CommandBars("Volleyball1").FindControl(Tag:="btnAktion")
If .Caption="Aktiv" Then
...
...
End If
End With
Weiter muss es Worksheets("Tabelle1") heißen.
Die Buttonfarbe kannst du nicht ändern. dito Schriftfarbe
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Anzeige
AW: Button in Menüleiste ändern
15.08.2007 13:17:00
Harald
Hallo Rudi,
vielen Dank für deine Hilfe! So klappt es nun (fast) wie gewünscht.
Ich muss nun nur noch herausfinden, wie ich beim Worksheet_SelectionChange die Zeilennummer der Zelle herausbekomme, die ich gerade verlasse.
Dazu schreibe ich einen neuen Beitrag im Forum.
Nochmals vielen Dank!
m.f.g.
Harald

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige