AW: Dynamische Symbolleiste
10.08.2003 19:40:11
Hajo_Zi
Hallo Jochen
warum zu umständlich?? Ich habe jetzt mal nur das Makro für den ersten Tag angelegt.
' **************************************************************
' Modul: Modul1 Typ = Allgemeines Modul
' **************************************************************
Option Private Module
Option Explicit
Sub Tag1()
Columns("A:A").EntireColumn.Hidden = Not Columns("A:A").EntireColumn.Hidden
End Sub
' **************************************************************
' Modul: DieseArbeitsmappe Typ = Element der Mappe(Sheet, Workbook, ...)
' **************************************************************
Option Explicit
' erstellt von Hajo.Ziplies@web.de
Private Sub Workbook_Open()
Dim cb As CommandBar
Dim CBC As CommandBarButton
Dim I%
On Error Resume Next
Set cb = Application.CommandBars.Add(Name:="PreislisteO", _
temporary:=True, Position:=msoBarTop)
' Oben Position:=msoBarTop
' Rechts Position:=msoBarRight
' Links Position:=msomsoBarLeft
' unten Position:=msoBarBottom
On Error GoTo 0
If Application.CommandBars("PreislisteO").Visible = False Then '
cb.Visible = True
' cb.Left = 10
' cb.Top = 150
For I = 1 To Day(Date)
Set CBC = cb.Controls.Add(Type:=msoControlButton)
With CBC
.Width = 50 ' Breite der Schalter
' .Style = msoButtonCaption ' Text auf Schaltfläche ohne Icon
.Style = msoButtonIconAndCaption ' Text und Icon
' Text Waagerecht für Links und Rechts
' .Style = msoButtonWrapCaption
.Caption = I
.TooltipText = I & ". Tag aus/einblenden"
.OnAction = "Tag" & I
End With
Next I
End If
End Sub
Private Sub Workbook_Deactivate()
' Schaltflächen nich auswählbar bei Daieiwechsel
' Dim I as Byte
' With Application.CommandBars("PreislisteO")
' For I = 1 To 15
' .Controls(I).Enabled = False
' Next I
' End With
' Symbolleiste ausblenden bei Dateiwechsel
On Error Resume Next
If Application.CommandBars("PreislisteO").Visible = True Then
Application.CommandBars("PreislisteO").Visible = False
End If
End Sub
Private Sub Workbook_Activate()
On Error GoTo neu
If Application.CommandBars("PreislisteO").Visible = False Then
Application.CommandBars("PreislisteO").Visible = True
End If
Exit Sub
neu:
Workbook_Open
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
Application.CommandBars("PreislisteO").Delete
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Excel.Range)
' Symbolleiste einblenden falls Sie jemand ausgeblendet hat bzw.
On Error GoTo neu
If Application.CommandBars("PreislisteO").Visible = False Then
Application.CommandBars("PreislisteO").Visible = True
End If
Exit Sub
neu:
Workbook_Open
End Sub
Code eingefügt mit: Excel Code Jeanie
Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Zurzeit gibt es wieder Probleme mit der E-Mail Benachrichtigung.
Ich bekomme Mails zu Beiträgen an denen ich nicht beteiligt bin und zusätzlich noch Mails zu meinen eigenen Beiträgen. Das Problem mit den eigenen Benachrichtigung kann gelöst werden durch Lösche und Neuanmelden. Dieses möchte ich aber nicht jeden Tag machen.
Um dieses Problem erstmal zu beseitigen habe ich die automatische Mailbenachrichtigung abgeschaltet.
Aus diesem Grunde ist es dem Zufall überlassen ob auf Rückfragen Antworten von mir kommen.