So verwenden Sie OnTime-Ereignisse und Tastendruckereignisse in Excel 2016 VBA

So verwenden Sie OnTime-Ereignisse und Tastendruckereignisse in Excel 2016 VBA

Es gibt zwei Arten von Ereignissen, die Sie in der VBA-Programmierung für Excel 2016 verwenden können, die nicht mit Objekten verknüpft sind: Zeit und Tastendrücke. Da Zeit und Tastendruck keinem bestimmten Objekt wie einer Arbeitsmappe oder einem Arbeitsblatt zugeordnet sind, programmieren Sie diese Ereignisse in einem normalen VBA-Modul.

Das OnTime-Event

Das Ereignis OnTime tritt ein, wenn eine bestimmte Tageszeit eintritt. Das folgende Beispiel zeigt, wie Sie Excel dazu bringen, eine Prozedur auszuführen, wenn das 15:00-Ereignis eintritt. In diesem Fall fordert Sie eine Roboterstimme auf aufzuwachen, begleitet von einer Meldungsbox:

Unter SetAlarm()
  Application.OnTime 0.625, „DisplayAlarm“
End Sub
UnteranzeigeAlarm()
  Application.Speech.Speak („Hey, wach auf“)
  MsgBox „Es ist Zeit für Ihre Nachmittagspause!“
End Sub

In diesem Beispiel wird die OnTime-Methode des Application-Objekts verwendet. Diese Methode benötigt zwei Argumente: die Uhrzeit (0,625 oder 15:00 Uhr) und den Namen der Sub-Prozedur, die ausgeführt werden soll, wenn das Zeitereignis eintritt (DisplayAlarm).

Dieses Verfahren ist sehr nützlich, wenn Sie dazu neigen, sich so in Ihre Arbeit einzulassen, dass Sie Meetings und Termine vergessen. Legen Sie einfach ein OnTime-Ereignis fest, um sich selbst daran zu erinnern.

Den meisten Menschen fällt es schwer, sich die Zeit in Bezug auf das Excel-Nummerierungssystem vorzustellen. Daher möchten Sie möglicherweise die VBA-Funktion TimeValue verwenden, um die Zeit darzustellen. TimeValue konvertiert eine Zeichenfolge, die wie eine Zeit aussieht, in einen Wert, den Excel verarbeiten kann. Die folgende Anweisung zeigt eine einfachere Möglichkeit, ein Ereignis für 15:00 Uhr zu programmieren:

Application.OnTime TimeValue("15:00:00"), "DisplayAlarm"

Wenn Sie ein Ereignis relativ zur aktuellen Zeit planen möchten (z. B. in 20 Minuten ab jetzt), können Sie eine Anweisung wie diese verwenden:

Application.OnTime Now + TimeValue("00:20:00"), "DisplayAlarm"

Sie können auch die OnTime-Methode verwenden, um eine VBA-Prozedur an einem bestimmten Tag auszuführen. Sie müssen sicherstellen, dass Ihr Computer weiterläuft und die Arbeitsmappe mit der Prozedur geöffnet bleibt. Die folgende Anweisung führt die DisplayAlarm-Prozedur am 31. Dezember 2016 um 17:00 Uhr aus:

Application.OnTime DateValue("31.12.2016 17:00"), "DisplayAlarm"

Diese spezielle Codezeile könnte sich als nützlich erweisen, um Sie zu warnen, dass Sie nach Hause gehen und sich auf die Silvesterfeierlichkeiten vorbereiten müssen.

Hier ist ein weiteres Beispiel, das das OnTime-Ereignis verwendet. Durch Ausführen der UpdateClock-Prozeduren wird die Uhrzeit in Zelle A1 geschrieben und fünf Sekunden später ein weiteres Ereignis programmiert. Dieses Ereignis führt die UpdateClock-Prozedur erneut aus. Der Nettoeffekt besteht darin, dass Zelle A1 alle fünf Sekunden mit der aktuellen Zeit aktualisiert wird. Um die Ereignisse zu stoppen, führen Sie die StopClock-Prozedur aus (die das Ereignis abbricht). Beachten Sie, dass NextTick eine Variable auf Modulebene ist, die die Zeit für das nächste Ereignis speichert.

Dim NextTick As Date
Unter UpdateClock()
' Aktualisiert Zelle A1 mit der aktuellen Uhrzeit
  ThisWorkbook.Sheets(1).Range(“A1”) = Zeit
' Richte das nächste Event in fünf Sekunden ein
  NextTick = Now + TimeValue(“00:00:05”)
  Application.OnTime NextTick, „UpdateClock“
End Sub
Unter StopClock()
' Bricht das OnTime-Ereignis ab (stoppt die Uhr)
  Bei Fehler Fortsetzen als nächstes
  Application.OnTime NextTick, „UpdateClock“, , False
End Sub

Das OnTime-Ereignis bleibt auch nach dem Schließen der Arbeitsmappe bestehen. Mit anderen Worten, wenn Sie die Arbeitsmappe schließen, ohne die StopClock-Prozedur auszuführen, wird die Arbeitsmappe in fünf Sekunden erneut geöffnet (vorausgesetzt, Excel wird noch ausgeführt). Um dies zu verhindern, verwenden Sie eine Workbook_BeforeClose-Ereignisprozedur, die die folgende Anweisung enthält:

StopClock aufrufen

Die OnTime-Methode hat zwei zusätzliche Argumente. Wenn Sie diese Methode verwenden möchten, sollten Sie die vollständigen Details im Hilfesystem nachlesen.

Wenn Sie eine ziemlich komplizierte Anwendung sehen möchten, sehen Sie sich diese Analoguhr-Anwendung an. Das Zifferblatt ist eigentlich ein Diagramm, und das Diagramm wird jede Sekunde aktualisiert, um die Tageszeit anzuzeigen. Nutzlos, aber lustig.

So verwenden Sie OnTime-Ereignisse und Tastendruckereignisse in Excel 2016 VBA

Eine Analoguhr-Anwendung.

Tastendruck-Ereignisse

Während Sie arbeiten, überwacht Excel ständig, was Sie eingeben. Aus diesem Grund können Sie die Dinge so einrichten, dass ein Tastendruck oder eine Tastenkombination eine Prozedur ausführt.

Hier ist ein Beispiel, bei dem die Tasten PgDn und PgUp neu zugewiesen werden:

Unter Setup_OnKey()
  Application.OnKey „{PgDn}“, „PgDn_Sub“
  Application.OnKey „{PgUp}“, „PgUp_Sub“
End Sub
Sub PgDn_Sub()
  Bei Fehler Fortsetzen als nächstes
  ActiveCell.Offset(1, 0).Aktivieren
End Sub
Sub PgUp_Sub()
  Bei Fehler Fortsetzen als nächstes
  ActiveCell.Offset(-1, 0).Aktivieren
End Sub

Nachdem Sie die OnKey-Ereignisse durch Ausführen der Prozedur Setup_OnKey eingerichtet haben, können Sie durch Drücken von PgDn eine Zeile nach unten verschieben. Durch Drücken von PgUp bewegen Sie sich eine Reihe nach oben.

Beachten Sie, dass die Tastencodes in geschweifte Klammern und nicht in Klammern eingeschlossen sind. Eine vollständige Liste der Tastaturcodes finden Sie im Hilfesystem. Suchen Sie nach OnKey.

In diesem Beispiel wird On Error Resume Next verwendet, um alle generierten Fehler zu ignorieren. Wenn sich die aktive Zelle beispielsweise in der ersten Zeile befindet, führt der Versuch, eine Zeile nach oben zu gehen, zu einem Fehler, der ignoriert werden kann. Und wenn ein Diagrammblatt aktiv ist, gibt es keine aktive Zelle.

Durch Ausführen der folgenden Routine brechen Sie die OnKey-Ereignisse ab:

Sub Cancel_OnKey()
  Application.OnKey „{PgDn}“
  Application.OnKey „{PgUp}“
End Sub

Unter Verwendung eine leere Zeichenfolge als zweites Argument für die OnKey Methode nicht nicht das OnKey Ereignis abbrechen. Es führt vielmehr dazu, dass Excel den Tastenanschlag einfach ignoriert. Die folgende Anweisung weist Excel beispielsweise an, Alt+F4 zu ignorieren. Das Prozentzeichen steht für die Alt-Taste:

  Application.OnKey „%{F4}“, „“

Obwohl Sie die OnKey-Methode verwenden können, um eine Tastenkombination zum Ausführen eines Makros zuzuweisen, sollten Sie für diese Aufgabe das Dialogfeld Makrooptionen verwenden.

Wenn Sie die Arbeitsmappe schließen, die den Code enthält, und Excel geöffnet lassen, wird die OnKey-Methode nicht zurückgesetzt. Infolgedessen führt das Drücken der Tastenkombination dazu, dass Excel die Datei automatisch mit dem Makro öffnet. Um dies zu verhindern, sollten Sie Code in Ihren Workbook_BeforeClose-Ereigniscode aufnehmen, um das OnKey-Ereignis zurückzusetzen.


Smartsheet 9.1.1

Smartsheet 9.1.1

Smartsheet ist eine dynamische Arbeitsplattform, mit der Sie Projekte verwalten, Arbeitsabläufe erstellen und mit Ihrem Team zusammenarbeiten können.

SharePoint

SharePoint

SharePoint ist ein webbasiertes Kollaborationssystem, das eine Vielzahl von Workflow-Anwendungen, „Listen“-Datenbanken und anderen Webkomponenten sowie Sicherheitsfunktionen verwendet, um die Zusammenarbeit von Unternehmensgruppen zu steuern.

Ewiger Kalender 1.0.38/1.0.36

Ewiger Kalender 1.0.38/1.0.36

Van Nien Calendar ist eine Kalenderanzeigeanwendung auf Ihrem Telefon, die Ihnen hilft, schnell das Monddatum auf Ihrem Telefon zu sehen und so Ihre wichtige Arbeit zu ordnen.

Microsoft Outlook 2021

Microsoft Outlook 2021

Microsoft Outlook ist eine Geschäfts- und Produktivitätsanwendung, die von der Microsoft Corporation entwickelt wurde.

ClickUp

ClickUp

ClickUp ist eine der am höchsten bewerteten Produktivitätsplattformen für jedes Unternehmen. Große Unternehmen wie Google, Booking.com, San Diego Padres und Uber nutzen ClickUp, um die Produktivität am Arbeitsplatz zu steigern.

PDF-XChange Viewer 2.5.322.10

PDF-XChange Viewer 2.5.322.10

PDF ist zu einem häufig verwendeten Format zum Lesen, Erstellen und Senden von Textdokumenten geworden. Im Gegenzug hat die Zahl der für diese Art der Dokumentation eingesetzten Programme zugenommen. PDF-XChange Viewer gehört zu einer wachsenden Zahl von PDF-Viewern.

Apache OpenOffice

Apache OpenOffice

Apache OpenOffice bietet eine vollständige Suite von Office-Anwendungen, die mit Microsoft 365 konkurrieren können, insbesondere in Excel, PowerPoint und Word. Es ermöglicht Ihnen eine effektivere Verwaltung Ihrer Projekte und unterstützt mehrere Dateiformate.

Laden Sie iTaxviewer 1.8.7 herunter

Laden Sie iTaxviewer 1.8.7 herunter

Die iTaxViewer-Software ist heute die beliebteste Software zum Lesen von XML-Dateien. Bei dieser Software handelt es sich um eine Anwendung zum Lesen elektronischer Steuererklärungen im XML-Format des General Department of Taxation.

Nitro PDF Reader

Nitro PDF Reader

Nitro PDF Reader ist ein praktischer PDF-Editor, der alle grundlegenden Aufgaben abdeckt, die die meisten Menschen täglich mit PDF-Dokumenten ausführen.

Foxit Reader 12

Foxit Reader 12

Foxit Reader ist in erster Linie ein PDF-Reader und ermöglicht Ihnen außerdem, PDF-Dateien zu erstellen, sie zu signieren, zu bearbeiten und Anmerkungen hinzuzufügen. Es funktioniert auf Betriebssystemen, es gibt Plugins für verschiedene Programme aus dem Microsoft Office-Paket.