54. Bestimmte Zelle mit der Return-/ Entertaste anspringen

Aufgabenstellung:

Es sollte beim Betätigen der Entertaste bestimmte Zellen angesprungen werden.

Diese Beispiele stehen auch als
Beispieldatei zum Download zur Verfügung.


Realisiert wurde das durch eine Einstellungs-Lösung.

Beispiel 1: In dieser Beispieldatei werden die Zellen der Reihe nach immer von Spalte zu Spalte von oben nach unten angesprungen. Für die Zellen, die mit der Return- oder TAB-Taste angesprungen werden sollen, muss der Haken bei Gesperrt, zu finden unter Zellen formatieren Registerkarte Schutz, entfernt werden. Danach muss das gesamte Blatt Passwortgeschützt werden. Es werden nun nur noch die Zellen angesprungen, bei denen der Schutz deaktiviert wurde.

Für dieses Beispiel wird kein VBA-Code benötigt, da er nur auf Einstellungen und den Blattschutz basiert..

 

Beispiel 2: In dieser Beispieldatei werden die Zellen nach einer vorher definierten Reihenfolge angesprungen. Beim Öffnen der Datei wird bei der Returntaste die normal übliche Funktion deaktiviert und durch eine neue Funktion ersetzt. Diese Funktion startet beim Betätigen der Returntaste ein Makro. Dieses Makro enthält eine Case-Anweisung mit der festgelegt wird, welche Zelle als nächstes angesprungen wird.

Der Code ist in ein StandardModul einzufügen.


Option Explicit


Sub Nächste_Zelle()
'Variablen deklarieren
Dim Active_Zelle As String

'Zellbezeichnung der aktiven Zelle in Variable "Active_Zelle" schreiben
Active_Zelle = ActiveCell.Address

'Case-Anweisung der Variablen "Active_Zelle" beginnen
Select Case Active_Zelle

'Wenn Variable "Active_Zelle" den Wert "$A$2", dann Zelle C3 anspringen
Case "$A$2"
Range("C3").Select

'Wenn Variable "Active_Zelle" den Wert "$C$3", dann Zelle E5 anspringen
Case "$C$3"
Range("E5").Select

'Wenn Variable "Active_Zelle" den Wert "$E$5", dann Zelle A7 anspringen
Case "$E$5"
Range("A7").Select

'Wenn Variable "Active_Zelle" den Wert "$A$7", dann Zelle F8 anspringen
Case "$A$7"
Range("F8").Select

'Wenn Variable "Active_Zelle" den Wert "$F$8", dann Zelle A2 anspringen
Case "$F$8"
Range("A2").Select

Case Else

'Wenn Variable "Active_Zelle" keine in den Case-Anweisungen bestimmten
'Adressen enthält, dann Zelle "A2" anspringen
Range("A2").Select
End Select

End Sub

Der Code ist in das VBA-Projekt DieseArbeitsmappe einzufügen.


Option Explicit


Private Sub Workbook_Open()
'Wenn der Namen des aktiven Blattes "" ist, dann...
If ActiveSheet.Name = "Vordefinierte Zellen anspringen" Then

'...bei Betätigen der Entertaste auf der Tastatur, das
'Makro "Nächste_Zelle" ausführen...
Application.OnKey "{ENTER}", "Nächste_Zelle"

'...bei Betätigen der Entertaste auf der Zehnertastatur, das
'Makro "Nächste_Zelle" ausführen...
Application.OnKey "~", "Nächste_Zelle"

'...ansonsten...
Else

'...mit der Entertaste auf der Tastatur die normale Funktion
'ausführen...
Application.OnKey "{ENTER}"

'...mit der Entertaste  auf der Zehnertastatur die normale
'Funktion ausführen...
Application.OnKey "~"
End Sub

 

 


Dieses Beispiel wurde unter den in der Tabelle aufgeführten Versionen getestet.

  A B C D E
1        

2

 

Excel - Version

Getestet

 
3      
4   Excel 2007 12.0 a  
5   Excel 2003 11.0 a  
6   Excel 2002 10.0 a  
7   Excel 2000 9.0 a  
8   Excel 97 8.0    
9          
10   Anzahl der Downloads:

 
11          
12   Dieses Beispiel wurde bereits  x aufgerufen.  
13    
14          

 


> Beispieldatei herunterladen <

  Sollten beim Ausführen der Beispieldatei Fehler auftreten, bitte ich darum, mir eine Mail mit der Fehlerbeschreibung an fehler@excelbeispiele.de zu schicken.
Danke!

 Möchten Sie www.excelbeispiele.de in Ihre Favoriten aufnehmen? Dann Klicken Sie hier.
 

Kontakt:

letzte Aktualisierung am 06.01.2008

© 2004 - Copyright Oliver Scheckelhoff,
All Rights Reserved