Ich möchte die Sekunde der Systemzeit in Zelle A1 anzeigen lassen. Sie soll sich kontinuierlich verändern. Weiss aber leider nicht wie das gehen soll?
Habt ihr eine Ahnung?
Danke
Phil
Ich möchte die Sekunde der Systemzeit in Zelle A1 anzeigen lassen. Sie soll sich kontinuierlich verändern. Weiss aber leider nicht wie das gehen soll?
Habt ihr eine Ahnung?
Danke
Phil
egal, für was es gut ist, wat mut, dat mut:
2 Makros auf Modulblatt:
Sub Auto_Open()
Zeit ' ruft Makro 'Zeit'
End Sub
Public Sub Zeit()
If Worksheets("Start").[b1].Value = 1 Then c = True Else c = False ' wenn in Tabelle("Start") Zelle("B1") eine 1 steht
Worksheets("Start").[a1].Value = Now
If c = True Then Application.OnTime Now + TimeValue("00:00:01"), "Zeit"
End Sub
Zelle A1 entspr. formatieren!
MfG Mario
es ist schon so möglich wie Mario Dir gepostet hat - aber warum willst Du, egal mit welcher Hardwareausstattung Dein System so drastisch ausbremsen?
Es mag beim Lesen der Forumsbeiträge der richtige Eindruck erscheinen, dass mit Excel fast alles möglich ist, aber nicht alles was möglich ist macht für die praktische Arbeit am PC und speziell mit Excel Sinn.
Beschreib doch mal Dein "wirkliches Problem", wozu benötigst Du die Sekundenanzeige, dann läßt sich vielleicht eine bessere Lösung finden.
Gruß
Peter
Die Frage warum, da kann ich mich nur Peter und Rainer anschließen. Aber darüber mache ich mir keinen Kopf mehr wozu es benötigt wird.
' **************************************************************
' Modul: DieseArbeitsmappe Typ = Element der Mappe(Sheet, Workbook, ...)
' **************************************************************
Option Explicit
Private Sub Workbook_Open()
Zeitmakro
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
Application.OnTime EarliestTime:=ET, Procedure:="Zeitmakro", Schedule:=False
End Sub
' **************************************************************
' Modul: Modul1 Typ = Allgemeines Modul
' **************************************************************
Option Explicit
Public ET As Variant
Sub Zeitmakro()
' unter Anleitung von KlauCh
ThisWorkbook.Worksheets("Tabelle1").Range("A1") = Format(Time, "hh:mm:ss")
ET = Now + TimeValue("00:00:01")
Application.OnTime ET, "Zeitmakro"
End Sub
Code eingefügt mit: Excel Code Jeanie
Gruß Hajo
Schau Dir mal mein Tool 'TimeServer' an ...
Damit kann man die aktuelle Uhrzeit in einer Zelle (z.B. C4) darstellen, und wenn man dann noch in A1 '=SEKUNDE(C4)' eingibt, erhält man immer die aktuelle Sekunde.
Gruß
Thomas
Risi Thomas Softwareentwicklung
Um die Systemzeit in Excel kontinuierlich anzuzeigen, kannst du die folgenden Schritte ausführen:
Öffne Excel und erstelle ein neues Arbeitsblatt.
Öffne den VBA-Editor: Drücke ALT + F11
.
Füge ein neues Modul hinzu:
Füge den folgenden Code ein:
Public ET As Variant
Sub Zeitmakro()
ThisWorkbook.Worksheets("Tabelle1").Range("A1") = Format(Time, "hh:mm:ss")
ET = Now + TimeValue("00:00:01")
Application.OnTime ET, "Zeitmakro"
End Sub
Private Sub Workbook_Open()
Zeitmakro
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
Application.OnTime EarliestTime:=ET, Procedure:="Zeitmakro", Schedule:=False
End Sub
Schließe den VBA-Editor und kehre zu Excel zurück.
Speichere die Datei als Makro-aktivierte Arbeitsmappe (*.xlsm).
Öffne die Arbeitsmappe erneut. Die aktuelle Systemzeit wird in Zelle A1 angezeigt und aktualisiert sich jede Sekunde.
Fehler: Zeit wird nicht aktualisiert
Workbook_Open()
im VBA-Modul vorhanden ist, da es das Zeitmakro beim Öffnen der Arbeitsmappe startet.Fehler: Sicherheitswarnung für Makros
Verwendung von Excel-Formeln: Du kannst die aktuelle Sekunde auch mit der Formel =SEKUNDE(JETZT())
in einer Zelle anzeigen lassen. Diese Methode aktualisiert sich jedoch nicht automatisch und ist nur beim Neuberechnen des Arbeitsblatts aktuell.
Externes Tool: Wenn du eine detailliertere Zeitansicht benötigst, kannst du auch Tools wie 'TimeServer' verwenden, um die Zeit in einer bestimmten Zelle darzustellen.
Beispiel 1: Wenn du die Zeit in Zelle C4
darstellen möchtest, kannst du den folgenden VBA-Code verwenden, um die Zeit in Zelle C4
zu setzen und die Sekunde in Zelle A1
anzuzeigen:
Sub ZeitInC4()
ThisWorkbook.Worksheets("Tabelle1").Range("C4") = Now
ThisWorkbook.Worksheets("Tabelle1").Range("A1") = SEKUNDE(ThisWorkbook.Worksheets("Tabelle1").Range("C4"))
End Sub
Beispiel 2: Wenn du eine Zeitstempel-Anzeige für eine Datenbankanwendung benötigst, kannst du das oben erwähnte Zeitmakro anpassen, um Zeitstempel in mehreren Zellen anzuzeigen.
Optimierung der Performance: Wenn du mit einer großen Datenmenge arbeitest, sei vorsichtig mit der Häufigkeit der Aktualisierungen, um die Performance von Excel nicht zu beeinträchtigen.
Anpassung der Zeitformatierung: Du kannst die Zeitformatierung in Excel anpassen, indem du die Zelle formatierst (Rechtsklick auf die Zelle > Zellen formatieren > Zeit).
Verwendung von Application.Volatile: Wenn du eine Funktion erstellst, die sich bei jedem Berechnen aktualisieren soll, kannst du Application.Volatile
verwenden, um die Rechenleistung zu optimieren.
1. Wie kann ich die Aktualisierungsfrequenz ändern?
Du kannst die Zeitintervall-Dauer in Application.OnTime
ändern, um die Aktualisierungsfrequenz anzupassen. Zum Beispiel, um die Zeit alle 5 Sekunden zu aktualisieren, ändere TimeValue("00:00:01")
in TimeValue("00:00:05")
.
2. Funktioniert das in allen Excel-Versionen?
Ja, das Makro sollte in allen aktuellen Excel-Versionen funktionieren, die VBA unterstützen (z.B. Excel 2010 und höher). Stelle sicher, dass die Makros aktiviert sind.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen