Aktuelle Uhrzeit in Excel mit VBA und Millisekunden anzeigen
Schritt-für-Schritt-Anleitung
Um die aktuelle Uhrzeit mit Millisekunden in Excel anzuzeigen, kannst Du VBA verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:
-
Öffne Excel und drücke ALT + F11
, um den VBA-Editor zu öffnen.
-
Klicke auf Einfügen
> Modul
, um ein neues Modul zu erstellen.
-
Füge den folgenden Code in das Modul ein:
Option Explicit
Private Declare Sub GetLocalTime Lib "kernel32" (lpSystem As SYSTEMTIME)
Private Type SYSTEMTIME
wYear As Integer
wMonth As Integer
wDayOfWeek As Integer
wDay As Integer
wHour As Integer
wMinute As Integer
wSecond As Integer
wMilliseconds As Integer
End Type
Private sysLocalTime As SYSTEMTIME
Public Function getActTime() As String
Application.Volatile
GetLocalTime sysLocalTime
getActTime = sysLocalTime.wHour & ":" & _
Format(sysLocalTime.wMinute, "00") & ":" & _
Format(sysLocalTime.wSecond, "00") & "," & _
sysLocalTime.wMilliseconds
End Function
-
Schließe den VBA-Editor und kehre zu Excel zurück.
-
In einer beliebigen Zelle kannst Du jetzt =getActTime()
eingeben, um die tatsächliche Uhrzeit mit Millisekunden anzuzeigen.
Häufige Fehler und Lösungen
-
Problem: Die Zelle zeigt keine Millisekunden an, obwohl Du die Funktion =getActTime()
verwendest.
- Lösung: Stelle sicher, dass die Zelle nicht formatiert ist, bevor Du die Funktion einfügst. Vermeide eine spezielle Zeitformatierung, um sicherzustellen, dass die Millisekunden angezeigt werden.
-
Problem: Die Zeit in Zelle A2 ist immer null, wenn Du Now
verwendest.
- Lösung: Nutze stattdessen
Application.Volatile
in der Funktion, um sicherzustellen, dass die Zelle bei jeder Änderung aktualisiert wird.
Alternative Methoden
Wenn Du keine VBA-Lösungen verwenden möchtest, gibt es auch Alternativen:
-
Jetzt()-Funktion: Verwende die Formel =JETZT()
in einer Zelle, um das aktuelle Datum und die Uhrzeit anzuzeigen. Beachte jedoch, dass diese Methode keine Millisekunden anzeigt.
-
Timer-Funktion: Wenn Du die Zeit alle paar Sekunden aktualisieren möchtest, kannst Du die Timer-Funktion in VBA verwenden. Hier ist ein einfaches Beispiel:
Sub Timer()
Application.OnTime Now + TimeValue("00:00:01"), "Timer"
Range("A1").Value = Now
End Sub
Praktische Beispiele
Hier sind einige praktische Beispiele, wie Du Now
und getActTime
verwenden kannst:
-
Zelle A1 mit aktueller Zeit:
Sub AktuelleZeit()
Range("A1").Value = Now
Range("A1").NumberFormat = "hh:mm:ss,0"
End Sub
-
Zelle A2 mit Millisekunden:
Sub ZeitMitMillisekunden()
Range("A2").Value = getActTime()
End Sub
-
Zellen formatieren:
Sub Formatieren()
With Range("A1:A2")
.NumberFormat = "hh:mm:ss.00"
End With
End Sub
Tipps für Profis
-
Nutze die Format
-Funktion in VBA, um die Ausgabe von Now
oder getActTime
anzupassen. Beispiel:
Dim formattedTime As String
formattedTime = Format(Now, "hh:mm:ss,0")
-
Wenn Du mit Zeitstempeln arbeitest, achte darauf, dass die Zeitzone Deines Systems korrekt eingestellt ist, um die tatsächliche Uhrzeit zu erhalten.
FAQ: Häufige Fragen
1. Wie kann ich die Uhrzeit ohne Sekunden anzeigen?
Du kannst die Formatierung in Excel anpassen, um nur Stunden und Minuten anzuzeigen, z.B. hh:mm
.
2. Gibt es eine Möglichkeit, die Uhrzeit in einem Makro automatisch zu aktualisieren?
Ja, Du kannst die OnTime
-Methode verwenden, um das Makro in regelmäßigen Abständen auszuführen, wie im Abschnitt "Alternative Methoden" beschrieben.
3. Warum wird die Zeit in Zelle A2 nicht korrekt angezeigt?
Stelle sicher, dass die Zelle A2 das richtige Format hat und dass Du getActTime()
richtig eingerichtet hast. Überprüfe auch, ob die Funktion in VBA korrekt deklariert ist.