Schaltfläche zum Schließen einzelner Excel-Tabelle
18.06.2006 21:58:16
Jürgen
Ich arbeite mit einer Excel-Tabelle (Berechnungshilfen.xls), bei der sämtliche Symbol- und Menüleisten beim Start ausgeblendet werden. Dies führt jedoch zu Problemen, wenn ich mit mehreren Excel-Dateien arbeite, da ich dann nur die gesamte Anwendung und damit alle Tabellen schließen kann. Ich brauche einen Makro, der die Tabelle "Berechnungshilfen.xls" schließt und sämtliche Symbol- und Menüleisten wieder herstellt, damit ich in den anderen Tabellen weiterarbeiten kann.
Wer kann mir helfen?
"Diese Arbeitsmappe" enthält folgenden Code:
Option Explicit
Dim Cn%
Dim CdbList()
Dim Status_FormulaBar As Boolean
Dim Status_HorScroll As Boolean
Dim Status_VerScroll As Boolean
Dim Status_StatusBar As Boolean
Dim Status_Gridlines As Boolean
Dim Status_Headings As Boolean
Dim Status_WorkTabs As Boolean
Private Sub Workbook_Open()
Worksheets("Start").Activate
Range("d3").Select
Dim Cdb As CommandBar
'Wenn Titelleiste von Excel geändern werden soll
Application.Caption = "Gothaer BKK"
'falls die eigenen Symbolleisten auch ausgeblendet werden sollen, dann den
'Code 'And Cdb.BuiltIn = True' aus nachstehender Zeile entfernen
Cn = 1
For Each Cdb In Application.CommandBars
If Cdb.Visible And Cdb.Type <> msoBarTypeMenuBar Then
ReDim Preserve CdbList(Cn)
CdbList(Cn) = Cdb.Name
Cn = Cn + 1
Cdb.Visible = False
End If
Next
'Stellt den Status fest und blendet alles aus
With ActiveWindow
Status_HorScroll = .DisplayHorizontalScrollBar
If .DisplayHorizontalScrollBar = True Then .DisplayHorizontalScrollBar = False
Status_VerScroll = .DisplayVerticalScrollBar
If .DisplayVerticalScrollBar = True Then .DisplayVerticalScrollBar = False
Status_Gridlines = .DisplayGridlines
If .DisplayGridlines = True Then .DisplayGridlines = False
Status_Headings = .DisplayHeadings
If .DisplayHeadings = True Then .DisplayHeadings = False
Status_WorkTabs = .DisplayWorkbookTabs
If .DisplayWorkbookTabs = True Then .DisplayWorkbookTabs = False
End With
With Application
Status_StatusBar = .DisplayStatusBar
If .DisplayStatusBar = True Then .DisplayStatusBar = False
Status_FormulaBar = .DisplayFormulaBar
If .DisplayFormulaBar = True Then .DisplayFormulaBar = False
'Menüleiste
.CommandBars(1).Enabled = False
End With
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim Cdb As CommandBar
Dim Ci%
For Ci = 1 To Cn - 1
Application.CommandBars(CdbList(Ci)).Visible = True
Next Ci
With ActiveWindow
.DisplayHeadings = Status_Headings
.DisplayHorizontalScrollBar = Status_HorScroll
.DisplayVerticalScrollBar = Status_VerScroll
.DisplayGridlines = Status_Gridlines
.DisplayWorkbookTabs = Status_WorkTabs
End With
With Application
.DisplayStatusBar = Status_StatusBar
.DisplayFormulaBar = Status_FormulaBar
.CommandBars(1).Enabled = True
End With
End Sub