Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Zeituhr ausrichten

Forumthread: Zeituhr ausrichten

Zeituhr ausrichten
02.07.2025 11:45:22
Siegfried
Hallo zusammen,
ich habe mir in einer UserForm eine Uhr eingefügt.
Standardmäßig beginnt die Anzeige auf 3Uhr.
Sie soll die Zahlen aber wie eine richtige Uhr nach 12Uhr beginnend anzeigen.
Wie muß ich das anstellen.

Ich habe folgenden Code:

Sub ErstellenUhr()

Dim Obj_LblSekunde As MSForms.Label ' Variable für Objekt als neues Label

Dim Startzeit3 As Integer, n3 As Integer, X3 As Double, Y3 As Double
Dim Radius3 As Integer, Winkeldrehung3 As Double, Winkel3 As Double
Dim AnzElemente3 As Integer, Mittelpunkt3Left As Integer, Mittelpunkt3Top As Integer

Radius3 = 78
Winkeldrehung3 = 6
AnzElemente3 = 360 / Winkeldrehung3
Mittelpunkt3Left = Radius3
Mittelpunkt3Top = Radius3
Startzeit3 = 1

For n3 = 1 To AnzElemente3
Y3 = Radius3 * Sin(Winkel3 / 180 * Application.Pi)
X3 = Radius3 * Cos(Winkel3 / 180 * Application.Pi)
Set Obj_LblSekunde = _
Frm_Zeit.Frm_UhrzeitSekunde.Controls.Add("Forms.Label.1", "txtDemo1", True)
With Obj_LblSekunde
.Left = Mittelpunkt3Left + X3
.Top = Mittelpunkt3Top + Y3
.Caption = Startzeit3
.AutoSize = True
End With
ReDim Preserve CoSekunde(0 To IntSekunde) ' Neudimensionierung Array Label
Set CoSekunde(IntSekunde).Label = Obj_LblSekunde ' Label zu Klasse zusammenfassen
IntSekunde = IntSekunde + 1 ' Schleifenzähler Label erhöhen
Winkel3 = Winkel3 + Winkeldrehung3
If Startzeit3 = 60 Then
Startzeit3 = Startzeit3 + 1
Else
Startzeit3 = 60 - (n3 * 1)
End If
Next
Set Obj_LblSekunde = Nothing

End Sub

Gruß
Siegfried
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeituhr ausrichten
02.07.2025 12:32:32
daniel
Hi
einfach 90° zum Winkel bei der Berechnung der Position hinzuaddieren.
Gruß Daniel
AW: Zeituhr ausrichten
02.07.2025 15:00:57
Siegfried
Hi Daniel,

ich habe das mit den 90° versucht, bin mit meinen Kenntnissen aber gescheitert.
Aus Not habe ich meinen Code geändert:

For n3 = 1 To AnzElemente3
Y3 = Radius3 * Sin(Winkel3 / 180 * Application.Pi)
X3 = Radius3 * Cos(Winkel3 / 180 * Application.Pi)
Set Obj_LblSekunde = _
Frm_Zeit.Frm_UhrzeitSekunde.Controls.Add("Forms.Label.1", "txtDemo1", True)
With Obj_LblSekunde
.Left = Mittelpunkt3Left + X3
.Top = Mittelpunkt3Top + Y3
If n3 47 Then
.Caption = Startzeit3 + 14
Else
.Caption = Startzeit3 - 46
End If
.AutoSize = True
End With
ReDim Preserve CoSekunde(0 To IntSekunde) ' Neudimensionierung Array Label
Set CoSekunde(IntSekunde).Label = Obj_LblSekunde ' Label zu Klasse zusammenfassen
IntSekunde = IntSekunde + 1 ' Schleifenzähler Label erhöhen
Winkel3 = Winkel3 + Winkeldrehung3
If Startzeit3 = 60 Then
Startzeit3 = Startzeit3 + 1
Else
Startzeit3 = 60 - (n3 * 1)
End If
Next
Set Obj_LblSekunde = Nothing

Wie sollte er aber richtig geändert werden?

GrußSiegfried
Anzeige
AW: Zeituhr ausrichten
02.07.2025 15:09:54
daniel
keine Ahnung, wo du so deine Winkel angibst.
ist jetzt schwierig, so einen unvollständigen Code nur so rein theoretisch zu beurteilen.
kannst du mal die passende Beispieldatei dazu hochladen?
Gruß Daniel
AW: Zeituhr ausrichten
02.07.2025 15:40:53
Siegfried
Hi Daniel,

das ist der vollständige Code,
er funktioniert ja auch und mit meiner Ergänzung beschriftet er die Steuerelemente auch korrekt.
Es sieht nur alles nach probieren aus und eben nicht als berechnet.

Ich bin dir trotzdem für Deine Bemühung dankbar.

Gruß
Siegfried
Anzeige
AW: Zeituhr ausrichten
02.07.2025 16:10:31
daniel
Hi
Code ist vollständig, wenn ich ihn kopieren und bei mir einfügen kann, so dass er direkt ohne Anpassung lauffähig ist.

damit in deinem Fall die Sekundenbeschriftung "normal ist", (0/60 oben), sollte diese Änderung ausreichen:
Startzeit3 = 1
Winkel3 = 270+Winkeldrehung3
For n3 = 1 To AnzElemente3


im Excel-Koordinatensystem liegt der Winkel 0 auf der X-Achse, also muss man den Startwinkel um -90° oder um 270° drehen, damit der Winkel 0 dann auf der Y-Achse liegt.
einen Step (6°) muss man dann noch hinzunehmen, weil du ja nicht mit 0/60 beginnst, sondern mit 1.

Gruß Daniel
Anzeige
AW: Zeituhr ausrichten
02.07.2025 16:56:35
Siegfried
Hi Daniel,

Danke, so funktioniert es wie gewollt.
Dabei hatte ich in der Zwischenzeit meine Datei so hergerichtet, dass ich sie hätte hochladen können.

Nochmal Danke und Gruß
Siegfried
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18