Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1024to1028
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
Inhaltsverzeichnis

symbolleiste

symbolleiste
25.11.2008 20:43:03
sonja
hallo ihr lieben,
habe schon wieder eine frage an euch.
in meiner exceldatei werden alle symbolleisten über vba ausgeblendet und nur eine
eigene symbolleiste eingeblendet.
jetzt möchte ich zusätzlich zu meiner selbst erstellten symbolleiste
die symbolleiste "Format" einblenden
ist das möglich?
vielen dank schon mal
sonja

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: symbolleiste
25.11.2008 20:47:00
Matthias
Hallo Sonja,
ja klar.
Zeig mal deinen Code, damit man ihn anpassen kann.
Gruß Matthias
AW: symbolleiste
25.11.2008 20:54:03
sonja
Hallo Matthias,
hier mein code für meine symbolleiste.
Const Symbolleistenname = "Bestellung"
Const Caption_1 = "&Zurück"
Const Caption_2 = "&Drucken"

Sub SymbolleisteBestellung_erstellen()
On Error Resume Next
Dim CB As CommandBar
Dim CMB As CommandBarButton
Set CB = Application.CommandBars(Symbolleistenname)
'Symbolleiste ist nicht vorhanden
If Err.Number  0 Then
Application.CommandBars(Symbolleistenname).Delete
Set CB = Application.CommandBars.Add(Name:= _
Symbolleistenname, Temporary:=False, Position:=msoBarTop)
'1. Symbol
Set CMB = CB.Controls.Add(Type:=msoControlButton)
With CMB
.Caption = Caption_1
.OnAction = "zurück_zur_UserFom4"
.FaceId = 6506
.Style = msoButtonIconAndCaption
.BeginGroup = True
'ThisWorkbook.Sheets("Tabelle1").Shapes _
' ("Symbol1").Copy
'Application.CommandBars(Symbolleistenname)._
'Controls(1).PasteFace
End With
'2. Symbol
Set CMB = CB.Controls.Add(Type:=msoControlButton)
With CMB
.Caption = Caption_2
.OnAction = "Seite_Drucken"
.FaceId = 4
.Style = msoButtonIconAndCaption
.BeginGroup = True
'ThisWorkbook.Sheets("Tabelle1").Shapes _
' ("Symbol1").Copy
'Application.CommandBars(Symbolleistenname)._
'Controls(1).PasteFace
End With
CB.Visible = True
End If
End Sub


Anzeige
AW: symbolleiste
25.11.2008 21:03:26
Matthias
Hallo Sonja,
ins Modul "DieseArbeitsmappe":

Option Explicit
Const Symbolleistenname = "Bestellung"
Private Sub Workbook_Activate()
Dim cb As CommandBar
For Each cb In Application.CommandBars
Select Case cb.Name
Case "Formatting", "Cell"
cb.Enabled = True
Case Else
cb.Enabled = False
End Select
Next cb
SymbolleisteBestellung_erstellen
End Sub
Private Sub Workbook_Deactivate()
Dim cb As CommandBar
For Each cb In Application.CommandBars
cb.Enabled = True
Next cb
CommandBars(Symbolleistenname).Delete
End Sub


Gruß Matthias

AW: symbolleiste
25.11.2008 21:06:45
Matthias
Hallo,
kleiner Nachtrag:
vor dem Befehl

CommandBars(Symbolleistenname).Delete


sollte noch ein On Error Resume Next, damit kein Fehler auftritt, falls die Symbolleiste nicht existiert.
Ich weiß, das ist nicht "sauber" programmiert, aber es funktioniert.
Gruß Matthias

Anzeige
Hm, nicht mein Tag
25.11.2008 21:10:19
Matthias
nochmal alles auf einmal, korrigiert:

Option Explicit
Const Symbolleistenname = "Bestellung"
Private Sub Workbook_Activate()
Dim cb As CommandBar
For Each cb In Application.CommandBars
Select Case cb.Name
Case "Formatting", Symbolleistenname, "Cell"
cb.Enabled = True
Case Else
cb.Enabled = False
End Select
Next cb
SymbolleisteBestellung_erstellen
End Sub
Private Sub Workbook_Deactivate()
Dim cb As CommandBar
For Each cb In Application.CommandBars
cb.Enabled = True
Next cb
On Error Resume Next
Application.CommandBars(Symbolleistenname).Delete
End Sub


Wie gesagt obigen Code in DieseArbeitsmappe
Gruß Matthias

Anzeige
AW: symbolleiste
25.11.2008 21:17:00
sonja
Hallo Matthias,
ja das funktioniert allerdings hatte ich vergessen zu schreiben,
das ich die symbolleiste format nur benötige, wenn eine bestimmte tabelle eingeblendet ist.
kannst du mir da auch weiterhelfen?
gruß sonja
Danke
25.11.2008 21:38:04
sonja
Danke,
ich habe den Code in meine Tabelle eingefügt.
Also 1000 küsse an dich matthias
viele grüße sonja
AW: symbolleiste
25.11.2008 21:41:00
Matthias
Hallo Sonja,
versuch mal dies:

Option Explicit
Const Symbolleistenname = "Bestellung"
Const SichtbarBei = "Tabelle1" 'Format sichtbar bei diesem Blatt
Private Sub Workbook_Activate()
Dim cb As CommandBar
For Each cb In Application.CommandBars
Select Case cb.Name
Case "Formatting", "Cell"
cb.Enabled = True
Case Else
cb.Enabled = False
End Select
Next cb
SymbolleisteBestellung_erstellen
Application.CommandBars(Symbolleitenname).Visible = (ActiveSheet.Name = SichtbarBei)
End Sub
Private Sub Workbook_Deactivate()
Dim cb As CommandBar
For Each cb In Application.CommandBars
cb.Enabled = True
Next cb
On Error Resume Next
Application.CommandBars(Symbolleistenname).Delete
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Application.CommandBars("Formatting").Visible = (Sh.Name = SichtbarBei)
End Sub


Gruß Matthias

Anzeige
Danke Danke
25.11.2008 21:53:54
sonja
Hallo Matthias,
nochmals vielen dank und 1000 küsse.
ich habe deinen code direkt ins tabellenblatt (Bestellung) eingefügt.
So funktioniert es super bei mir.
Const Symbolleistenname = "Bestellung"

Private Sub Worksheet_Activate()
Schließenkreuz_ausblenden
Dim cb As CommandBar
For Each cb In Application.CommandBars
Select Case cb.Name
Case "Formatting", Symbolleistenname, "Cell"
cb.Enabled = True
Case Else
cb.Enabled = False
End Select
Next cb
SymbolleisteBestellung_erstellen
End Sub



Private Sub Worksheet_Deactivate()
Dim cb As CommandBar
For Each cb In Application.CommandBars
cb.Enabled = False
Next cb
Application.CommandBars(Symbolleistenname).Delete
SymbolleisteBestellung_schließen
End Sub


Anzeige
AW: Danke Danke
25.11.2008 21:59:00
Matthias
Hallo Sonja,
der versteh' ich zwar nicht ganz aber egal, Hauptsache es funktioniert.
Gruß Matthias

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige