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

Forumthread: Optionsfelder im Kreis anordnen (UHR)

Optionsfelder im Kreis anordnen (UHR)
16.04.2021 07:38:47
Jürgen
Hallo Zusammen,
ich stelle mich gerade sowas von dämlich an :-/
Ich möchte 12 Optionsfelder im Kreis anordnen, weil ich dort eine Uhrzeit abfragen möchte. Das ganze Programm drum herum ist schon fertig. Jetzt wollte ich Kosmetik betreiben und die 12 Felder schön im Kreis anordnen.
Ich habe eine Berechnung über http://wer-ist-ulli.de/cgi-bin/cnc/kreispunkte.cgi
durchgeführt und versucht, die Koordinaten auf Top und Left umzurechnen und zu übertragen. Aber irgendwie scheine ich einen Wurm drin zu haben.
Hier das Formular.
https://www.herber.de/bbs/user/145566.xlsm

Vielleicht habt Ihre eine Idee.
Vorab schon besten Dank und viele Grüße
Jürgen
Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Optionsfelder im Kreis anordnen (UHR)
16.04.2021 08:36:01
Hans
sorry, test
hans
AW: Optionsfelder im Kreis anordnen (UHR)
16.04.2021 09:07:59
Daniel
Hi
hast du beachtet, dass die TOP und LEFT-Werte sich die linke obere Ecke des umhüllenden Rechtecks beziehen und du dementsprechend noch einen Versatzwert hinzufügen musst, damit der Mittelpunkt des Buttons auf der Kreislinie liegt?
Gruß Daniel
AW: Optionsfelder im Kreis anordnen (UHR)
16.04.2021 09:08:03
Werner
Hallo,
der Link zu deiner Beispielmappe funktioniert nicht.
Gruß Werner
Anzeige
AW: Optionsfelder im Kreis anordnen (UHR)
16.04.2021 09:20:41
Hans
... Die Links zu der Beispielarbeitsmappe funktionieren wieder ...
Gruss hans
AW: Optionsfelder im Kreis anordnen (UHR)
16.04.2021 09:44:32
Daniel
"Wurm drin" ist jetzt natürlich als Fehlerbeschreibung nicht besonders geeignet, um eine mögliche Fehlerursache und die darauf basierende Lösung zu ermitteln.
wenn du die Buttons von Hand ausrichten willst, solltest du ggf den Haken bei EXTRAS - OPTIONEN - ALLGEMEIN - AM RASTER AUSRICHTEN entfernen.
dann kannst du feiner und näher am Kreisbogen platzieren.
wenn du nicht rechnen willst, kannst du dir auch ein Bild mit einem Kreis einfügen, an welchem du die Buttons ausrichtest.
hierbei über das Kontextmenü Ebene nach vorn/hinten festlegen, dass die Buttons vor dem Bild liegen und nicht dahinter.
Gruß Daniel
Anzeige
AW: Optionsfelder im Kreis anordnen (UHR)
16.04.2021 10:52:09
Jürgen
Hallo Daniel,
den Versatz habe ich berücksichtigt. Trotzdem stimmen die umgerechneten Angaben nicht so, dass die Punkte aus dem Berechnunsprogramm stimmen.
Das Problem liegt vermutlich daran, dass das Berechnungsprogramm mit einem Mittelpunkt bei X/Y bei 0 rechnet und um diesen Punkt herum die Koordinaten auf dem Kreis berechnet.
Das mit der mauellen Ausrichtung auf einem Bild von einem Kreis ist schon eine Idee.
Ich wollte nur nachfragen, ob vielleicht noch jemande eine Lösung , oder eine Berechnung hat.
Meine Berechnungen stimmen jedenfalls nicht.
Vielleicht hat noch jemand eine Lösung.
Viele Grüße
Jürgen.
Anzeige
AW: Optionsfelder im Kreis anordnen (UHR)
16.04.2021 11:28:45
Daniel
Hi
wie sieht denn dein bisheriger versuch aus?
Gruß Daniel
AW: Optionsfelder im Kreis anordnen (UHR)
16.04.2021 15:27:10
Jürgen
Mein Entwurf ist in der Excel-Datei.
Meine Koordinaten sind:
0 50
25 43,301
43,301 25
50 0
43,301 -25
25 -43,301
0 -50
-25 -43,301
-43,301 -25
50 0
-43,301 25
-25 43,301
Umgerechnet auf die die Mitte aber mit Bezug auf Left und Top:
72 6
97 12,699
115,301 21
122 56
115,301 81
97 99,301
72 106
47 99,301
28,699 81
22 56
28,699 21
47 12,699
Anzeige
AW: Optionsfelder im Kreis anordnen (UHR)
16.04.2021 17:01:36
Daniel
ja und wo ist das problem?
warum rechnest du nicht selber die Kreiskoordinaten aus?
geht nach folgenden Prinzip:
ML und MT sind Top und Left des Kreismittelpunkts
R ist der Radius
W ist der Winkel im Bogenmaß (das braucht Excel)
die Werte musst du als Variablen festlegen und ggf ein bisschen experimentieren für passende Werte
L und T sind die Koordinaten für den jeweiligen Button

for i = 1 to 12
W = 3.14 * (i + 3) * 30 /180
L = ML + R * Sin(W)
T = MT + R * Cos(W) + MT
with me.Controls("Optionbuttonname" & Format(i, "00")
.Top = T
.Left = L
end with
next
so nach dem Prinzip sollte das funktionieren.
den Optionbuttonnamen musst du noch anpassen
wenn die Anordnung noch nicht richtig passt, kannst du noch Sin und Cos tauschen und auch ausprobieren ob es ML/MT + R oder ML/MT - R sein muss.
dafür dass die 12 an der richtigen Stelle sitzt, sorgt das + 3 bei der Winkelberechnung.
außerdem könnte es hilfreich sein, den Hintergrund der Buttons auf transparent zu stellen, wenn sie eng bei einander stehen, bzw über das Kontextmenü die Ebene verändern, damit der "richtige" Button oben liegt.
Gruß Daniel
Anzeige
AW: Optionsfelder im Kreis anordnen (UHR)
17.04.2021 10:32:16
Jürgen
Lieber Daniel,
wenn ich es gekonnt hätte, hätte ich ja nicht gefragt ;-)
Aber vielen Dank für deine Info. Ich werde mir das ansehen und versuchen umzusetzten.
Viele Grüße und ein schönes Wochenende
Jürgen
AW: Optionsfelder im Kreis anordnen (UHR)
17.04.2021 11:11:47
Jürgen
Nochmal Danke fürs "auf die Spur bringen" Daniel.
So sieht der fertige Code für beide Uhren aus:

Sub OptButtonverteilen()
ML = 72
MT = 30
R = 57
For i = 1 To 12
W = 3.14 * (i + 9) * 30 / 180
l = ML + R * Cos(W)
t = MT + R * Sin(W) + MT
With frmUhrzeiten.Controls("optVonStunden" & Format(i, "00"))
'with frmUhrzeiten.Controls("optVonStunden01
.Top = t
.Left = l
End With
Debug.Print "OptionButtonVon " & i & " Top " & Format(t, "0.000") & " Left " & Format(l, "0.000" _
)
Next
ML = 72
MT = 105
R = 57
For i = 1 To 12
W = 3.14 * (i + 9) * 30 / 180
l = ML + R * Cos(W)
t = MT + R * Sin(W) + MT
With frmUhrzeiten.Controls("optBisStunden" & Format(i, "00"))
'with frmUhrzeiten.Controls("optVonStunden01
.Top = t
.Left = l
End With
Debug.Print "OptionButtonBis " & i & " Top " & Format(t, "0.000") & " Left " & Format(l, "0.000" _
)
Next
End Sub
Viele Grüße und ein schönes Wochenende
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige