|
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 |
|
|
|
|
|
|