Steuern der Anzeige von Symbolleistenschaltflächen (Microsoft Excel)
Jody ist dabei, benutzerdefinierte Symbolleistenschaltflächen zu entwickeln und den Schaltflächen Makros zuzuweisen. Sie möchte, dass die Schaltflächen immer dann aktiviert werden, wenn mindestens ein Arbeitsblatt sichtbar ist, sucht jedoch nach dem richtigen Code, um mit einer solchen Situation umzugehen.
Es gibt viele Möglichkeiten, wie dies angegangen werden kann, wie man in einer so vielfältigen Umgebung wie Excel annehmen könnte. Eine mögliche Lösung besteht darin, eine Routine zu erstellen, die einfach prüft, ob auf dem Bildschirm sichtbare Fenster vorhanden sind. Wenn dies der Fall ist, können die Symbolleistenschaltflächen aktiviert werden. Wenn dies nicht der Fall ist, können sie deaktiviert werden. Das folgende Makro macht genau das:
Sub CheckButtons() Dim bOneOpen As Boolean Dim I As Integer Dim J As Integer bOneOpen = False For I = 1 To Workbooks.Count For J = 1 To Workbooks(I).Windows.Count If Workbooks(I).Windows(J).Visible Then bOneOpen = True Next J If bOneOpen Then Exit For Next I If bln Then 'enable buttons Else 'disable buttons End If End Sub
Beachten Sie die beiden Kommentare am unteren Rand des Makros. Sie müssen diese Kommentare lediglich durch den entsprechenden Code ersetzen, um die Symbolleistenschaltflächen zu aktivieren oder zu deaktivieren. (Der Code hängt von der Anzahl und Konfiguration Ihrer Schaltflächen ab.)
Dieses Makro kann entweder manuell oder von einem der Ereignisse aufgerufen werden, die durch Fensteränderungen ausgelöst werden, z. B. solche, die beim Öffnen, Ändern der Größe, Minimieren, Maximieren oder Wiederherstellen von Fenstern ausgelöst werden.
_Hinweis: _
Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.
ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.
Dieser Tipp (2618) gilt für Microsoft Excel 97, 2000, 2002 und 2003.