Unterschiedliche Zellbewegung in einem einzigen Arbeitsblatt (Microsoft Excel)
Patrick fragt sich, ob es eine Möglichkeit gibt, die Zellbewegung auf einem Arbeitsblatt in einer Arbeitsmappe nach rechts und auf einem anderen Arbeitsblatt in derselben Arbeitsmappe nach unten zu verschieben. Das einzige, was er finden kann, ist eine globale Einstellung für alle Arbeitsblätter in der Arbeitsmappe.
Patrick ist richtig; Diese Einstellung wird global in Excel behandelt. Sie können die Einstellung folgendermaßen ändern:
-
Zeigen Sie das Dialogfeld Excel-Optionen an. (Klicken Sie in Excel 2007 auf die Schaltfläche Office und dann auf Excel-Optionen. Zeigen Sie in Excel 2010 oder einer späteren Version die Registerkarte Datei des Menübands an und klicken Sie dann auf Optionen.)
-
Klicken Sie links im Dialogfeld auf Erweitert. (Siehe Abbildung 1.)
-
Stellen Sie unter Bearbeitungsoptionen sicher, dass das Kontrollkästchen „Nach Drücken der Eingabetaste Auswahl verschieben“ aktiviert ist. (Es sollte standardmäßig aktiviert sein.)
-
Ändern Sie in der Dropdown-Liste Richtung die gewünschte Richtung.
-
OK klicken.
Dies ändert die Bewegungsrichtung für alle Arbeitsmappen, die Sie in Excel öffnen. Wenn Sie möchten, dass die Bewegung für ein einzelnes Arbeitsblatt variiert, können Sie dies mithilfe einiger Ereignishandler erreichen. Zwei davon sind an das Arbeitsblatt angehängt, das anders behandelt werden soll. Klicken Sie einfach mit der rechten Maustaste auf die Registerkarte des Arbeitsblatts und wählen Sie Code aus dem resultierenden Kontextmenü. Sie können dann Folgendes in das Codefenster einfügen:
Private Sub Worksheet_Activate() Application.MoveAfterReturnDirection = xlToRight End Sub
Private Sub Worksheet_Deactivate() Application.MoveAfterReturnDirection = xlDown End Sub
Diese Ereignishandler werden jeweils ausgelöst, wenn das Arbeitsblatt aktiviert ist und wenn Sie das Arbeitsblatt durch Auswahl eines anderen Arbeitsblatts deaktivieren. Beachten Sie, dass bei der Aktivierung die Richtung auf xlToRight eingestellt ist, was bedeutet, dass die Bewegung nach rechts verläuft. Wenn das Arbeitsblatt deaktiviert ist, wird die Richtung auf xlDown gesetzt, was als Standardrichtung angenommen wird.
Sie benötigen außerdem einen dritten Ereignishandler. Dieser sollte dem ThisWorkbook-Modul hinzugefügt werden:
Private Sub Workbook_BeforeClose(Cancel As Boolean) Application.MoveAfterReturnDirection = xlDown End Sub
Dies ist notwendig, weil, wenn Sie Excel schließen, während Sie „nach rechts bewegen“
Wenn das Arbeitsblatt aktiv ist, bleibt die Bewegungsrichtung auf xlToRight eingestellt. Dies bedeutet, dass beim nächsten Start von Excel die Standardrichtung festgelegt wird. Durch Einbeziehen des BeforeClose-Ereignishandlers stellen Sie sicher, dass die Standardeinstellung so festgelegt ist, wie sie sein sollte.
Bei diesem Ansatz gibt es nur ein kleines potenzielles Problem: Wenn Sie eine Arbeitsmappe zum ersten Mal öffnen, wird das Ereignis „Aktivieren“ nicht für das Arbeitsblatt ausgelöst, das zuerst angezeigt wird. Dies bedeutet, dass wenn Sie „nach rechts bewegen“
Das Arbeitsblatt wird für die Arbeitsmappe angezeigt. Standardmäßig wird die Bewegung nicht in xlToRight geändert. Es wird weiterhin auf den Standardwert gesetzt, der vermutlich xlDown ist. Um die Ausführung des Ereignishandlers zu erzwingen, müssen Sie ein anderes Arbeitsblatt in der Arbeitsmappe anzeigen und dann zum ursprünglichen Arbeitsblatt zurückkehren. Wenn Sie dies lieber nicht manuell tun möchten, können Sie einen vierten Ereignishandler hinzufügen, diesen auch im ThisWorkbook-Modul:
Private Sub Workbook_Open() Sheets("Sheet2").Select Sheets("Sheet1").Select End Sub
Dieses Makro wählt das Arbeitsblatt mit dem Namen Sheet2 aus und wählt dann sofort das Arbeitsblatt mit dem Namen Sheet1 aus. Sie sollten natürlich die Arbeitsblattnamen ändern, um die für Ihre Arbeitsmappe geeigneten Namen wiederzugeben. Stellen Sie lediglich sicher, dass das zuletzt ausgewählte Arbeitsblatt „Nach rechts verschieben“
ist Arbeitsblatt.
_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 (13640) gilt für Microsoft Excel 2007, 2010, 2013, 2016, 2019 und Excel in Office 365.