Office Logo  Zurück zur Hauptseite

Tastenkombinationen

       Allgemeines über Tastenkombinationen

       Übersicht der Tastenkombinationen
          Excel starten
          Datei öffnen
          Datei speichern
          Datei schliessen
          Excel beenden

       Anmerkungen und Hinweise

       Eigene Tastenkombinationen definieren und auswerten

 

      Home Zur Hauptseite

To Top

Allgemeines über Tastenkombinationen

Die wahrscheinlich bekannteste Taste ist die Umschalt-Taste, die in gedrücktem Zustand während dem Öffnen einer Datei bewirkt, dass weder das Auto_Open-Makro noch die Workbook_Open-Ereignisprozedur in der zu öffnenden Arbeitsmappe ausgeführt wird. Weniger bekannt ist jedoch, dass die Umschalt-Taste noch einiges mehr bewirken kann, beispielsweise den Textimport-Assistent beim Öffnen einer Textdatei unterdrücken. Auch andere Spezialtasten wie die Strg- oder die Alt-Taste bieten interessante Möglichkeiten.

Sie erfahren zudem auf dieser Seite, wie Sie eigene Tastenkombinationen defineren und beim Öffnen einer Arbeitsmappe auswerten können.

To Top

 


Übersicht der Tastenkombinationen

Inhalt

Excel starten
Datei öffnen
Datei speichern
Datei schliessen
Excel beenden

 

Excel starten

Taste Aktion Auswirkung Beschreibung
Umschalt Excel starten - Das Drücken und Halten der Umschalt-Taste während dem Start von Excel bewirkt, dass die im Startordner sowie im zusätzlichen Startordner liegenden Dateien nicht geöffnet werden.

Wenn Excel mit einer Arbeitsmappe gestartet wird, z.B. wenn eine Arbeitsmappendatei als Startparameter in der Befehlszeile angegeben oder mittels Drag and Drop auf das Excel-Programmsymbol gezogen wird, bewirkt die Umschalt-Taste, dass bei der zu öffnenden Mappe der Entwurfsmodus aktiviert wird.

Strg Excel starten
(nur Excel 2002)
Aktiviert den abgesicherten Modus Das Drücken und Halten der Strg-Taste während dem Start von Excel 2002 bewirkt, dass Excel im abgesicherten Modus gestartet wird. Das Verhalten von Excel ist in diesem Fall identisch wie bei Verwendung des Startparameters "/s" bzw. "/safemode". Die Strg-Taste kann übrigens auch in den anderen Programmen von Microsoft Office XP (Word XP, PowerPoint XP und andere) zur Aktivierung des abgesicherten Modus benutzt werden.

To Top


Datei öffnen

Taste Aktion Auswirkung Beschreibung
Umschalt Arbeitsmappe öffnen 1. Ignoriert das Auto_Open-Makro sowie die Open-, Activate- und WindowActivate-Ereignisprozeduren der Arbeitsmappe

2. Ändert die Schaltfläche "Öffnen" der Standard-Symbolleiste auf "Speichern"

1. Das Drücken und Halten der Umschalt-Taste während dem Öffnen einer Arbeitsmappe bewirkt, dass das Auto_Open-Makro sowie alle Ereignisprozeduren , die Ereignisprozedur Workbook_Open sowie die Ereignisprozedur Workbook_Activate der Arbeitsmappe nicht ausgeführt werden.

Durch die Umschalt-Taste wird der Entwurfsmodus für diese Arbeitsmappe aktiviert. Solange der Entwurfsmodus eingeschaltet ist, werden keinerlei Ereignisprozeduren dieser Mappe ausgeführt (Ereignisprozeduren anderer geöffneter Mappen dagegen schon). Sobald die Arbeitsmappe vollständig geladen ist, sollte der Entwurfsmodus über die entsprechende Schaltfläche (siehe Hinweis 1) deaktiviert werden, damit die Ereignisse der Mappe wieder ausgeführt werden. Anderenfalls besteht die Gefahr, dass beispielsweise infolge von nicht ausgelösten Change- oder SelectionChange-Ereignissen fehlerhafte Daten entstehen.

2. Bei gehaltener Umschalt-Taste ändert sich die "Öffnen"-Schaltfläche der Standard-Symbolleiste auf "Speichern" und das Disketten-Symbol wird angezeigt, sobald Sie auf die Schaltfläche klicken.

Umschalt Textdatei öffnen Unterdrückt die Anzeige des Textimport-Assistenten Das Drücken und Halten der Umschalt-Taste während dem Öffnen einer Textdatei bewirkt, dass der Textimport-Assistent nicht geöffnet wird. Wird im Öffnen-Dialog eine Textdatei markiert und auf die Öffnen-Schaltfläche geklickt, während die Umschalt-Taste gedrückt wird, so wird der Assistent nicht geöffnet. Das Drücken der Umschalt-Taste beim Anklicken einer Datei in der Liste der zuletzt geöffneten Dateien hat dagegen keine Auswirkung. Auch wenn Sie eine Textdatei über den Windows Explorer öffnen und dabei die Umschalt-Taste drücken, öffnet sich der Textimport-Assistent trotzdem.

Informationen über den Textimport-Assistent erhalten Sie unter
Excel-Funktionen und -Features: Textimport-Assistent

Alt Arbeitsmappe öffnen Ignoriert Verweise auf Exceldateien im VBA-Projekt Normalerweise werden beim Öffnen einer Arbeitsmappe alle diejenigen xls-, xlt- und xla-Dateien ebenfalls geöffnet, auf die im VBA-Projekt der gerade geöffneten Arbeitsmappe verwiesen wird.
Esc Arbeitsmappe öffnen Bricht den Öffnen-Vorgang ab -
Strg+Break Arbeitsmappe öffnen Bricht den Öffnen-Vorgang ab -
Entwurfsmodus Arbeitsmappe öffnen Keine Auswirkung Das Aktivieren des Entwurfsmodus vor dem Öffnen einer Arbeitsmappe besitzt keine Auswirkung auf die zu öffnende Mappe.
Strg+O Arbeitsmappe öffnen Öffnet den Datei öffnen-Dialog -

To Top


Datei speichern

Taste Aktion Auswirkung Beschreibung
Umschalt Arbeitsmappe speichern Ändert die Schaltfläche "Speichern" der Standard-Symbolleiste auf "Öffnen" Bei gehaltener Umschalt-Taste ändert sich die "Speichern"-Schaltfläche der Standard-Symbolleiste auf "Öffnen" und das Öffnen-Symbol wird angezeigt, sobald Sie auf die Schaltfläche klicken.
Esc Arbeitsmappe speichern Bricht den Speichern-Vorgang ab Das Drücken der Esc-Taste während der Datei-Speicherung führt zum Abbruch des Speichern-Vorganges und es erscheint die Fehlermeldung "Datei wurde nicht gespeichert."

Achtung:
Beachten Sie unbedingt, dass Excel die Arbeitsmappe als ordnungsgemäss gespeichert betrachtet, d.h. trotz abgebrochener Speicherung! Wenn Sie also die Mappe nach der abgebrochenen Speicherung schliessen, erscheint keine Rückfrage "Sollen Ihre Änderungen in <Mappe.xls> gespeichert werden?". Wenn Sie im VBA-Editor die Saved-Eigenschaft der Arbeitsmappe abfragen (z.B. mit "MsgBox ThisWorkbook.Saved"), so erhalten Sie als Ergebnis "Wahr" zurück.

Strg+Break Arbeitsmappe speichern Bricht den Speichern-Vorgang ab Das Drücken der Tastenkombination Strg+Break während der Datei-Speicherung führt zum Abbruch des Speichern-Vorganges und es erscheint die Fehlermeldung "Datei wurde nicht gespeichert."

Achtung:
Beachten Sie unbedingt, dass Excel die Arbeitsmappe als ordnungsgemäss gespeichert betrachtet, d.h. trotz abgebrochener Speicherung! Wenn Sie also die Mappe nach der abgebrochenen Speicherung schliessen, erscheint keine Rückfrage "Sollen Ihre Änderungen in <Mappe.xls> gespeichert werden?". Wenn Sie im VBA-Editor die Saved-Eigenschaft der Arbeitsmappe abfragen (z.B. mit "MsgBox ThisWorkbook.Saved"), so erhalten Sie als Ergebnis "Wahr" zurück.

Entwurfsmodus Arbeitsmappe speichern Ignoriert die BeforeSave-Ereignisprozedur der Arbeitsmappe Durch das Aktivieren des Entwurfsmodus vor dem Speichern der Arbeitsmappe wird das BeforeSave-Ereignis der Mappe nicht ausgelöst.

Wenn der Entwurfsmodus eingeschaltet ist, werden keinerlei Ereignisprozeduren dieser Mappe ausgeführt (Ereignisprozeduren anderer geöffneter Mappen dagegen schon). Der Entwurfsmodus sollte daher nur solange wie notwendig aktiviert sein.

Strg+S Arbeitsmappe speichern/ Arbeitsmappe speichern unter 1. Speichert die aktive Arbeitsmappe, falls diese bereits schon einmal gespeichert wurde

2. Öffnet den Speichern unter-Dialog, falls die aktive Arbeitsmappe noch nie gespeichert wurde

Achtung:
Bitte beachten Sie, dass in Bezug auf die Tastenkombination Strg+S alle gängigen Excelversionen (Excel 97, 2000, 2002/XP und 2003) einen Bug besitzen. Wenn Sie die Tastenkombination Strg+S einem Makro zuweisen, welches beim Drücken dieser Tastenkombination ausgeführt werden soll, so funktioniert dies nur dann korrekt, wenn sich Excel nicht im Bearbeiten- oder Eingeben-Modus befindet. Wenn eine Zelle bearbeitet oder etwas in eine Zelle eingegeben und dann Strg+S gedrückt wird, so wird der Speichern unter-Dialog geöffnet anstatt das Makro ausgeführt.

Mehr über diesen Fehler erfahren Sie hier:
Excel: "Save As Dialog Box May Appear Instead of the Macro That Is Running When You Press CTRL+S"
http://support.microsoft.com/?scid=kb;en-us;828645

Alt+F2 Arbeitsmappe speichern unter Öffnet den Speichern unter-Dialog -

To Top


Datei schliessen

Taste Aktion Auswirkung Beschreibung
Umschalt Arbeitsmappe schliessen Ignoriert das Auto_Close-Makro der Arbeitsmappe Das Drücken und Halten der Umschalt-Taste während dem Schliessen einer Arbeitsmappe bewirkt, dass das Auto_Close-Makro der Arbeitsmappe nicht ausgeführt wird.

Achtung:
Das Workbook_BeforeClose-Ereignis wird ausgelöst.

Umschalt Datei-Menü anklicken Ändert den Menübefehl "Schliessen" in "Alles schliessen" Das Drücken und Halten der Umschalt-Taste bewirkt beim Anklicken von Menü "Datei", dass der Menübefehl "Schliessen" durch den normalerweise nicht sichtbaren Menübefehl "Alles schliessen" ersetzt wird.

Hinweis:
Das funktioniert auch in ein paar anderen Microsoft-Programmen, unter anderem in Microsoft Word und Microsoft Photo Editor.

Entwurfsmodus Arbeitsmappe schliessen Überspringt das BeforeClose- und BeforeSave-Ereignis der Arbeitsmappe Achtung:
Die beiden Ereignisprozeduren Workbook_Deactivate und Workbook_WindowDeactivate werden trotzdem ausgeführt.
Alt+Umschalt+D Datei-Menü öffnen Ändert den Menübefehl "Schliessen" in "Alles schliessen" Mit dieser Tastenkombination wird das Menü "Datei" geöffnet und der Menübefehl "Schliessen" durch den Menübefehl "Alles schliessen" ersetzt.

To Top


Excel beenden

Taste Aktion Auswirkung Beschreibung
Alt+F4 Excel beenden Beendet Microsoft Excel -

To Top

 


Anmerkungen und Hinweise

Entwurfsmodus-Schaltfläche

Die Entwurfsmodus-Schaltfläche Schaltfläche Entwurfsmodus ist nicht auf den üblich benutzten Symbolleisten (Standard, Format und Zeichnen) zu finden. Sie befindet sich in Excel standardmässig auf der Symbolleiste "Steuerelement-Toolbox".

Excel-Dialogfenster "Anpassen"
Abbildung: Dialogfenster "Anpassen"

Beachten Sie, dass man in Microsoft Excel sehr schlecht erkennt, ob der Entwurfsmodus aktiviert ist. Lediglich die Darstellung der Entwurfsmodus-Schaltfläche - sie ist in gedrücktem Zustand eingerastet - verrät den aktuellen Modus:

Aktivierte Entwurfsmodus-Schaltfläche

Im VBA-Editor dagegen erkennt man den aktivierten Entwurfsmodus am Hinweistext "[Entwerfen]" im Titel des Editor-Fensters:

Hinweis "Entwurfsmodus" im Fenstertitel

 

Entwurfsmodus mit VBA aktivieren

Das Einschalten des Entwurfsmodus lässt sich mit VBA nur anhand eines Tricks lösen, und zwar indem ein Klick auf die Entwurfsmodus-Schaltfläche simuliert wird. Dazu verwendet man die Execute-Methode des CommandBarControl-Objektes. Da die FindControl-Methode ein Objekt vom Typ CommandBarControl zurückgibt, kann man diese Methode vorzüglich zum Ermitteln der benötigten Entwurfsmodus-Schaltfläche (sie besitzt die ID 1605) benutzen:

  Application.CommandBars.FindControl(Id:=1605).Execute

 

Entwurfsmodus mit VBA deaktivieren

Für das Ausschalten ist mir keine direkte Lösung bekannt. Ich bin sogar der Meinung, dass es aus technischen Gründen gar keine VBA-Lösung geben kann, weil während der Ausführung von VBA-Programmcode der Entwurfsmodus grundsätzlich nie aktiv ist. Folglich lässt er sich auch nicht per VBA-Code ausschalten.

Es gibt jedoch eine VBA-Lösung, mit der man den Entwurfsmodus auf indirektem Weg ausschalten kann. Wie oben erwähnt ist der Entwurfsmodus während der Ausführung von VBA-Code nie eingeschaltet, da er beim Start eines Makros automatisch deaktiviert wird. Wir müssen somit einen Weg finden, wie man ein Makro automatisch starten kann, ohne dass dabei der Benutzer involviert ist (mit Benutzer ist die Deaktivierung ja klar, da er lediglich auf die Entwurfsmodus-Schaltfläche klicken muss). Da bei aktiviertem Entwurfsmodus keine Ereignisse ausgelöst werden und deren Ereigniscode ausgeführt wird, muss eine andere Lösung her: Sie heisst OnTime. Mit OnTime kann ein Zeitpunkt definiert werden, zu dem eine bestimmte Prozedur gestartet werden soll. Die Prozedur wird interessanterweise auch dann gestartet, wenn der Entwurfsmodus aktiviert ist. Das bedeutet, dass bei Erreichen des Zeitpunktes der Entwurfsmodus automatisch ausgeschaltet wird.

Der dazu benötigte Programmcode sieht so aus:

Sub SetDesignModeTimer()
  Application.OnTime Now + TimeSerial(0, 0, 10), _
    "DeactivateDesignMode"
End Sub

Public Sub DeactivateDesignMode()
  'Leere Prozedur
End Sub

Anstelle von
Public Sub DeactivateDesignMode()
darf man für den Prozedurnamen natürlich einen beliebigen Namen verwenden.

Führen Sie die Prozedur SetDesignModeTimer und warten Sie 10 Sekunden. Wenn Sie innerhalb diesen 10 Sekunden den Entwurfsmodus aktivieren, so wird er nach Ablauf der Zeitspanne automatisch deaktiviert. Beachten Sie auch, dass die aufgerufene Prozedur DeactivateDesignMode ohne weiteres leer sein darf.

To Top

 


Eigene Tastenkombinationen definieren und auswerten

Es ist ohne weiteres möglich, eigene Tastenkombinationen zu definieren, die Sie dann beim Öffnen einer Arbeitsmappe auswerten können. Man kann mit VBA sehr einfach feststellen, ob während dem Öffnen einer Arbeitsmappe die Spezialtaste Alt, Strg oder Umschalt gedrückt wurde. Natürlich kann man auch andere Tasten, wie zum Beispiel eine gedrückte Buchstabentaste oder eine Funktionstaste ermitteln. Somit lassen sich beliebige Tastenkombinationen auswerten. Da man den Status der Umschalt-Taste abfragen kann, lässt sich auch herausfinden, ob eine Buchstabentaste zusammen mit Umschalt, sprich als Gross- oder Kleinbuchstabe gedrückt wurde.

Die Abfrage nach einer gedrückten Taste bzw. Tastenkombination wird am besten im Workbook_Open-Ereignis vorgenommen. Dazu muss lediglich die Windows API-Funktion GetKeyState mit dem Tastencode der zu überprüfenden Taste aufgerufen werden. Die Funktion gibt den Status der Taste zurück, d.h. ob die Taste momentan gedrückt ist oder nicht. Den entsprechenden VBA-Programmcode finden Sie weiter unten.

 

Tastencodes

Diese Tabelle zeigt die Tastencodes für die Tasten Alt, Strg und Umschalt sowie F1 bis F12.

Code Taste Code Taste Code Taste Code Taste Code Taste
16 Umschalt 112 F1 115 F4 118 F7 121 F10
17 Strg 113 F2 116 F5 119 F8 122 F11
18 Alt 114 F3 117 F6 120 F9 123 F12

 

VBA-Programmcode

Nachstehend zwei kleine Beispiele, die zeigen sollen, wie man beim Öffnen einer Exceldatei eine gedrückte Taste abfragen kann.

Fügen Sie die Deklaration der API-Funktion in den Deklarationsbereich eines Codemoduls und den restlichen Programmcode in das Modul "DieseArbeitsmappe" ein. Speichern und schliessen Sie dann die Arbeitsmappe. Beim nächsten Öffnen der Mappe werden die Tasten geprüft.

 

Beispiel 1

'Deklarationsbereich eines Codemoduls
Public Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer

'Codebereich von "DieseArbeitsmappe"
Private Sub Workbook_Open()
  Dim strMessage As String
  strMessage = ""
  If Abs(GetKeyState(16) < 0) Then
    strMessage = strMessage & "Umschalt-Taste wurde gedrückt" & vbCrLf
  Else
    strMessage = strMessage & "Umschalt-Taste wurde nicht gedrückt" & vbCrLf
  End If
  If Abs(GetKeyState(17) < 0) Then
    strMessage = strMessage & "Strg-Taste wurde gedrückt" & vbCrLf
  Else
    strMessage = strMessage & "Strg-Taste wurde nicht gedrückt" & vbCrLf
  End If
  If Abs(GetKeyState(18) < 0) Then
    strMessage = strMessage & "Alt-Taste wurde gedrückt"
  Else
    strMessage = strMessage & "Alt-Taste wurde nicht gedrückt"
  End If
  MsgBox strMessage, vbInformation
End Sub

 

Beispiel 2

'Deklarationsbereich eines Codemoduls
Public Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer

'Codebereich von "DieseArbeitsmappe"
Private Sub Workbook_Open()
  If Abs(GetKeyState(17) < 0) And Abs(GetKeyState(66) < 0) Then
    MsgBox "Tastenkombination Strg+B wurde gedrückt"
  Else
    MsgBox "Tastenkombination Strg+B wurde nicht gedrückt"
  End If

End Sub

 

Einschränkungen und mögliche Probleme

Bitte beachten Sie, dass nicht alle Spezialtasten in jeder Situation abgefragt werden können.

So ist es unter anderem nicht möglich, beim Öffnen einer Arbeitsmappe die gedrückte Umschalt-Taste zu erkennen, weil durch das Drücken dieser Taste die in der Mappe enthaltenen Ereignisprozeduren (Open, Activate etc.) nicht aufgerufen werden. Folglich wird kein VBA-Programmcode ausgeführt, sprich keine Tasten-Abfrage vorgenommen.

 

Weitere Informationen finden Sie hier:

Weitere Informationen

Fragen und Antworten: Wie finde ich heraus, ob eine Spezialtaste beim Öffnen einer Mappe gedrückt wurde?

Excel-Startparameter: Alternativen zu eigenen Excel-Startparametern

To Top

Haben Sie Fragen, Anregungen oder Hinweise?
Mail senden an:
philipp.von.wartburg@bluewin.ch

Zuletzt aktualisiert am 28.05.2005 / 18:00 Uhr
© 2002-2005 by Philipp von Wartburg, CH-8916 Jonen
Alle Rechte vorbehalten