Deaktivieren des Verschiebens zwischen Arbeitsblättern (Microsoft Excel)
Excel bietet verschiedene Möglichkeiten, wie Sie in einer Arbeitsmappe von einem Arbeitsblatt zu einem anderen wechseln können. Wenn Sie das Wechseln zwischen Arbeitsblättern deaktivieren möchten, haben Sie aufgrund der Vielzahl von Methoden, gegen die Sie etwas tun müssen, eine schwierige Aufgabe vor sich.
Eine Möglichkeit zum Wechseln zwischen Arbeitsblättern besteht beispielsweise darin, Strg + Bild auf oder Strg + Bild ab zu drücken. Um diese Schlüssel für eine bestimmte Arbeitsmappe zu deaktivieren, müssen Sie die OnKey-Methode folgendermaßen verwenden:
Private Sub Workbook_Activate() Application.OnKey "^{PgDn}", "" Application.OnKey "^{PgUp}", "" End Sub
Private Sub Workbook_Deactivate() Application.OnKey "^{PgDn}" Application.OnKey "^{PgUp}" End Sub
Diese beiden Makros sollten im ThisWorkbook-Objekt platziert werden. Die erste wird ausgeführt, wenn die Arbeitsmappe aktiviert ist, und deaktiviert Strg + Bild auf und Strg + Bild ab, indem beim Drücken nichts ausgeführt wird. Das zweite Makro wird ausgeführt, wenn die Arbeitsmappe deaktiviert ist, und aktiviert die Schlüssel wieder.
Es gibt noch eine Reihe anderer Möglichkeiten, zwischen Arbeitsblättern zu wechseln, z. B. die manuelle Auswahl des Blattes, die Verwendung von Gehe zu, die Verwendung von Hyperlinks usw. Der einfachste Weg, das Wechseln zwischen Arbeitsblättern zu verhindern, besteht darin, die Arbeitsblätter auszublenden, auf die nicht zugegriffen werden soll. Durch den Schutz der Arbeitsmappe und des VB-Projekts wird auch verhindert, dass der Benutzer zwischen den Blättern wechselt.
Wenn die Blätter ausgeblendet sind, können sie nicht ausgewählt werden und Sie können daher nicht zu ihnen wechseln. Gehe zu geht nicht zu ihnen, Hyperlinks gehen nicht zu ihnen.
Wenn Benutzer die ausgeblendeten Arbeitsblätter später anzeigen können sollen, müssen Sie eine Makro-Routine mit Ihren eigenen Steuerelementen / Schaltflächen erstellen, um zu diesen Blättern zu gelangen. Diese Routine würde das Blatt, zu dem Sie gehen, „einblenden“ und das gerade ausgeblendete ausblenden.
Abhängig von Ihren Anforderungen können Sie einen anderen Ansatz ausprobieren. Sie können dem ThisWorkbook-Objekt das folgende Makro hinzufügen:
Private Sub Workbook_SheetDeactivate(ByVal mySheet As Object) Application.EnableEvents = False mySheet.Activate Application.EnableEvents = True End Sub
Dieses Makro wird jedes Mal ausgeführt, wenn das aktuelle Arbeitsblatt deaktiviert wird.
Es „reaktiviert“ im Wesentlichen das verbleibende Arbeitsblatt, was bedeutet, dass kein anderes Arbeitsblatt jemals ausgewählt werden kann.
_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 (3333) gilt für Microsoft Excel 97, 2000, 2002 und 2003. Eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Excel (Excel 2007 und höher) finden Sie hier: