Fenster maximieren bei "Workbook_BeforeClose"
24.08.2003 10:29:46
Christoph
in einer Exceltabelle, deren Arbeitsmappe ich schützen will (Struktur und Fenster) hat das Fenster die Normalgröße. (ActiveWindow.WindowState = xlNormal)
Nun möchte ich erreichen, dass beim Schließen dieser Mappe für alle anderen Fenster die Fenstergröße wieder maximal wird (ActiveWindow.WindowState = xlMaximized).
Wenn keine andere Mappe geöffnet ist, so soll eine neue Mappe geöffnet werden.
für diesen letzten Punkt funktioniert der folgende Code in der "Workbook_BeforeClose-Anweisung" auch fehlerfrei:
Dim WBName As String
Dim j As Integer
WBName = ThisWorkbook.Name
j = Workbooks.Count
If j = 2 Then
Workbooks.Add.Activate
ActiveWindow.WindowState = xlMaximized
End If
Workbooks(WBName).Close
Wenn jedoch ein oder mehrere weitere Mappen bereits geöffnet sind, so soll keine neue hinzugefügt sondern nur eine dieser Mappen aktiviert werden. (der Code funktioniert nicht)
Dim WBName As String
Dim j As Integer
WBName = ThisWorkbook.Name
j = Workbooks.Count
If j > 2 Then
For j = Workbooks.Count To 1 Step -1
If Workbooks(j).Name <> WBName Then
Workbooks(j).Activate
ActiveWindow.WindowState = xlMaximized
End If
Next j
ElseIf j = 2 Then
Workbooks.Add.Activate
ActiveWindow.WindowState = xlMaximized
End If
Workbooks(WBName).Close
Außerdem befürchte ich, wenn der Code funtionieren würde, dass dann jede andere Mappe aktiviert wird. Das will ich eigentlich auch nicht, sondern er soll die erste Mappe aktivieren, das Fenster maximieren und dann "Workbooks(WBName).Close" ausführen.
Wo ist der Fehler?
kann mir jemand helfen?
Vielen Dank
Gruß
Christoph