ich möchte gern auf klick button, alles ausblenden, kopfleiste usw. soll also nur das "nackte Blatt
erscheinen. Möchte später wieder einblenden.
mfg walter mg
Function Change_Control_State()
'(C) Ramses
Dim i As Long
Dim myCmdBar As CommandBar, myCnt As CommandBarControl
Set myCmdBar = Application.CommandBars("Worksheet Menu Bar")
For Each myCnt In myCmdBar.Controls
myCnt.Enabled = Not myCnt.Enabled
Next
End Function
Sub Leiste_Raus()
Application.DisplayFullScreen = True
Change_Control_State
End Sub
Sub Leiste_Rein()
Application.DisplayFullScreen = False
End Sub
Die Themen mit Dieter u. Christian habe ich nicht verstanden, ist mir auch egal wenn sich
Zwei streiten.
mfg Walter mg
Sub Ausblenden()
Dim shS As Worksheet
Dim x As Long
On Error GoTo Fehler
Set shS = ThisWorkbook.Sheets("Sicherung")
On Error GoTo 0
'Prüfen, ob nicht schon Ausgeblendet ist
If shS.Cells(1, 1).Value = True Then Exit Sub
'Kennung für "Ausgeblendet" setzen
shS.Cells(1, 1).Value = True
'Bildschirmeinstellungen sichern und ausblenden
With Application
shS.Cells(1, 2) = .DisplayFormulaBar
shS.Cells(2, 2) = .DisplayStatusBar
.DisplayFormulaBar = False
.DisplayStatusBar = False
End With
With ActiveWindow
shS.Cells(3, 2) = .DisplayHorizontalScrollBar
shS.Cells(4, 2) = .DisplayVerticalScrollBar
shS.Cells(5, 2) = .DisplayWorkbookTabs
shS.Cells(6, 2) = .DisplayGridlines
shS.Cells(7, 2) = .DisplayHeadings
.DisplayHorizontalScrollBar = False
.DisplayVerticalScrollBar = False
.DisplayWorkbookTabs = False
.DisplayGridlines = False
.DisplayHeadings = False
End With
'Commandbars sichern und ausblenden
On Error Resume Next
For x = 1 To Application.CommandBars.Count
With Application.CommandBars(x)
shS.Cells(x, 3).Value = .Visible
.Visible = False
End With
Next
On Error GoTo 0
Exit Sub
'Falls nicht vorhanden, Sicherungsblatt erstellen
Fehler:
Application.ScreenUpdating = False
Set shS = ActiveSheet
Sheets.Add after:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
ActiveSheet.Name = "Sicherung"
shS.Activate
Sheets("sicherung").Visible = 2
Application.ScreenUpdating = True
Resume
End Sub
Dieses Makro kannst du dann zum Wiederherstellen der Einstellungen verwenden:
Sub Einblenden()
Dim x As Long
Dim shS As Worksheet
On Error GoTo Fehler
Set shS = ThisWorkbook.Sheets("Sicherung")
On Error GoTo 0
'Kennung für "Ausgeblendet" wieder löschen"
shS.Cells(1, 1).Value = ""
'Bildschirmeinstellungen wieder herstellen
With Application
.DisplayFormulaBar = shS.Cells(1, 2)
.DisplayStatusBar = shS.Cells(2, 2)
End With
With ActiveWindow
.DisplayHorizontalScrollBar = shS.Cells(3, 2)
.DisplayVerticalScrollBar = shS.Cells(4, 2)
.DisplayWorkbookTabs = shS.Cells(5, 2)
.DisplayGridlines = shS.Cells(6, 2)
.DisplayHeadings = shS.Cells(7, 2)
End With
'Commandbars sichern und ausblenden
On Error Resume Next
For x = 1 To Application.CommandBars.Count
Application.CommandBars(x).Visible = shS.Cells(x, 3).Value
Next
On Error GoTo 0
Exit Sub
Fehler:
MsgBox "Pech gehabt, keine Wiederherstellung der Bildschirmeinstellungen möglich"
End Sub
Dieses Makro MUSS UNBEDINGT ins Modul "DieseArbeitsmappe", weil es sicherstellt, daß beim Schließen die Commandbars wieder eingeblendet werden:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call Einblenden
End Sub
und denk immer daran, die Verantwortung gegenüber deinen Kollegen hast du, also vor einsatz ausgiebig testen!
Gruß, Daniel