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

Rahmen um OptionButton, aber nicht um Caption des optButton

Forumthread: Rahmen um OptionButton, aber nicht um Caption des optButton

Rahmen um OptionButton, aber nicht um Caption des optButton
05.04.2025 17:24:32
Dieter(Drummer)
Guten Tag an alle.

Bei Klick auf einen OptionButton, wird ein Rahmen um den OptionsButton gemacht.
Bei Klick auf anderen OptionButton wird der Rahmen des vorherigen OptionButton wieder entfernt. Das funktioniert!

Suche eine Möglichkeit, dass der Rahmen um den OptionButton da ist, aber der gepunkteten Rahmen, der sich um Caption bildet, entfernt wird.
Es soll aber der Rahmen um den OptionButton bleiben. Das bedeutet: Rahmen um OptButton ist da und der Punkterahmen um Caption soll weg sein.

Evtl. können ja beide Codes verbunden werden, aber meine Versuche haben nicht funktioniert.

Mit der Bitte um Hilfe, grüßt
Dieter(Drummer)
Musterdatei:
https://www.herber.de/bbs/user/176615.xlsm
Code 1:
'Herber: Case 25.03.2025 16:07:04

Private mobjOptionButtonClass(1 To 6) As clsOptionButton
Private mstrSearchValue As String

'Herber: Case 25.03.2025 16:07:04
Private Sub UserForm_Activate()
Dim ialngIndex As Long
For ialngIndex = LBound(mobjOptionButtonClass) To UBound(mobjOptionButtonClass)
Set mobjOptionButtonClass(ialngIndex) = New clsOptionButton
Set mobjOptionButtonClass(ialngIndex).OptionButton = Controls("OptionButton" & CStr(ialngIndex))
Set mobjOptionButtonClass(ialngIndex).UserForm = Me
Next
'OptionButton1.Value = True
End Sub

'Herber: Case 25.03.2025 16:07:04
Private Sub UserForm_Terminate()
Dim ialngIndex As Long
For ialngIndex = LBound(mobjOptionButtonClass) To UBound(mobjOptionButtonClass)
Set mobjOptionButtonClass(ialngIndex) = Nothing
Next
End Sub

'Herber: Case 25.03.2025 16:07:04
Public Property Let SearchValue(ByVal pvstrSearchValue As String)
mstrSearchValue = pvstrSearchValue
End Property


Code2:
Public Sub CommandButton2_Click()

'Rahmen_loeschen
Dim lblLabel As MSForms.Label
Dim ctrlTMP As Control
Dim lngTMP As Long
For Each ctrlTMP In Me.Controls
If TypeName(ctrlTMP) = "Label" Then
Me.Controls.Remove ctrlTMP.Name
End If
Next ctrlTMP
End Sub
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Eine Möglichkeit wäre, aber ...
05.04.2025 18:38:05
Dieter(Drummer)
Guten Tag an alle,

... in diesem Code muss/müssen die OptionsButton benannt sein, dann wird ein Rahen um die OptionButton gelegt und es ist kein Punkterahmen um Caption.
Das ist optimal, aber wie muss der Code lauten, dass der angklickte OptionButton den Rahmen bekommt.
Meine Versuche mit OptionButton.value, statt den OptionButton im Code schon festzulegen, habe ich nicht geschafft.

Ideal wäre also, nur der aktiven OptionButton bekommt den Rahmen mit diesem Code, der abr noch geändert/angepasst werden muss. Aber wie?

Mit der Bitte um Hilfe, grüßt
Dieter(Drummer)
Code:
'Nur bestimmten OptionButton einen Rahmen setzen

Public Sub CommandButton3_Click()
Dim i&, objFrame As Control, arrOpt(): arrOpt = Array(OptionButton2, OptionButton6)
For i = LBound(arrOpt) To UBound(arrOpt)
Set objFrame = Controls.Add("Forms.Label.1", "Rahmen" & i + 1, True)
With objFrame
.Left = arrOpt(i).Left - 2
.Width = arrOpt(i).Width + 2
.Top = arrOpt(i).Top
.Height = arrOpt(i).Height
.BackStyle = 0
.BorderStyle = 1
.ZOrder 0
End With
Next
End Sub

Anzeige
AW: Meinst du das...
05.04.2025 19:00:25
Dieter(Drummer)
Danke Case,

klappt perfekt.
Welcher Code oder welcher Teil in welchem Code ermöglicht das?
Intressiert mich natürlich.

Gruß,
Dieter(Drummer)
Anzeige
Also - da habe ich...
05.04.2025 19:17:31
Case
Moin Dieter, :-)

... zu einem kleinen Trick gegriffen. ;-)

Der gestrichelte Rahmen bedeutet ja, dass der OptionsButton den Fokus hat. Um das zu umgehen, habe ich einfach eine TextBox ausserhalb des Rahmens der UserForm gesetzt und gebe dieser TextBox beim starten der UserForm und beim klicken auf einen OptionsButton den Fokus. Fertig. ;-)

Servus
Case
Anzeige
AW: Also - da habe ich...
05.04.2025 19:24:12
Dieter(Drummer)
Danke Case,

tolle Idee ...

Gruß,
Dieter(Drummer)
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