1.5k Aufrufe
Gefragt in Tabellenkalkulation von kurtl Mitglied (239 Punkte)
Hallo liebe Experten, Kurt braucht wieder Eure geschätzte Hilfe!
Ich habe folgendes Makro gefunden, welches mir in Zelle A1 die laufende Uhrzeit anzeigt.

Sub Uhrzeit()
[A1] = Format(Time, "hh:mm:ss")
Application.OnTime Now + TimeValue("00:00:01"), "Uhrzeit"
End Sub

Diese ständig aktuelle Uhrzeit benötige ich in einer Arbeitsmappe Namens"Tagebuch"aber das ist jetzt nebensächlich.

Das Problem jetzt ist, dass in jeder anderen geöffneten exel Tabelle in Zelle A1 die Uhr auftaucht und sollte in einer x beliebigen Tabelle die Zelle A1 gesperrt sein, taucht eine Laufzeitfehlermeldung auf.

Ich möchte gern, das die Uhrzeit nur in einer klar definierten Tabelle also in diesem Fall in der Tabelle "Tagebuch"auftaucht und nicht überall.
Ich habs schon versucht mit Sheets("Tagebuch").Select u.s.w. aber offensichtlich nicht den richtigen Code gefunden.

Ich hoffe, es kann jemand helfen.
Danke im voraus
Gruß Kurt

4 Antworten

0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)
Hallo Kurt,

die folgenden Makros in das VBA-Projekt DieseArbeitsmappe kopieren:

Option Explicit

Private Sub Workbook_Open()
Zeitmakro
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
Application.OnTime EarliestTime:=DaEt, Procedure:="Zeitmakro", Schedule:=False
End Sub


Den folgenden Code in ein Modul deiner Arbeitsmappe kopieren:

Option Explicit
' Code "Zeitmakro" von Hajo Ziplies,
Public DaEt As Date

Sub Zeitmakro()
ThisWorkbook.Worksheets("Tabelle1").Range("A1") = Format(Time, "hh:mm:ss")
DaEt = Now + TimeValue("00:00:01")
Application.OnTime DaEt, "Zeitmakro"
End Sub


Gruß

M.O.
0 Punkte
Beantwortet von kurtl Mitglied (239 Punkte)
Hallo H.O.
es funktioniert!!!
Danke!
Gruß Kurt
0 Punkte
Beantwortet von kurtl Mitglied (239 Punkte)
.... jetzt hab ich sogar meinen Helfer Falsch geschrieben.
Ich meinte natürlich M.O. Danke!

sorry Kurt
0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)
Hallo Kurt,

kein Problem :-)).

Gruß

M.O.
...