1.6k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo,

suche passende Makro für Optionskästchen,
hab eine etwas abgeändert:

Option Explicit

Sub Optionskästchen_einfügen()
Dim Wiederholungen As Integer, Position As Double
Application.ScreenUpdating = False
Position = 0
For Wiederholungen = 1 To 10
With ActiveSheet.OptionButtons.Add(17.25, Position, 24, 17.25)
.LinkedCell = "$A$" & Wiederholungen
.Characters.Text = ""
End With
Position = Position + 17.25
Next
End Sub

..aber ich hab ja immer zwei :/
sollen sich auf die gleiche Zelle beziehen..
was kann ich da tun?

Vielen Dank schon mal :)

7 Antworten

0 Punkte
Beantwortet von
Hallo,

ich nehme an du meinst das so:

Option Explicit


Sub Optionskästchen_einfügen()
Dim Wiederholungen As Integer, Position As Double, r As Range
Application.ScreenUpdating = False
Position = 0
For Wiederholungen = 1 To 10
Set r = Range("A" & Wiederholungen)
With ActiveSheet.GroupBoxes.Add(r.Left, r.Top, r.Width, r.Height)
.Characters.Text = ""
.Select
With ActiveSheet.OptionButtons.Add(r.Left, r.Top, r.Width / 2, r.Height)
.LinkedCell = r.Address
.Characters.Text = ""
End With

.Select
With ActiveSheet.OptionButtons.Add(r.Left + r.Width / 2, r.Top, r.Width / 2, r.Height)
.LinkedCell = r.Address
.Characters.Text = ""
End With
End With

Next Wiederholungen
End Sub

Gruß Mr. K
0 Punkte
Beantwortet von
Hey :)

ja danke, super.

aber das fügt das ganze noch mit einem Rahmen ein, der nicht so ganz passt.

kann man da noch was machen oder liegt das an der GroupBox und bleibt einfach so?

Vielen Dank :)
0 Punkte
Beantwortet von
Hallo ebii,

den Rahmen der GroupBox kannst du leider nicht entfernen. Du kannst ihn aber über den 3D-Effekt weniger nervig machen. Wenn du zusätzlich Objekt drucken weghakst, wird er aber zumindest nicht gedruckt.
Tipp: Zusätzlich kannst du hinterlegten Wert über Numberformat ausblenden. Für Formeln bleibt er aber erhalten. Füge dazu direkt vor dem letzten End With noch folgende 3 Zeilen ein.

.PrintObject = False
.Display3DShading = True
r.Numberformat = ";;;"

Gruß Mr. K.
0 Punkte
Beantwortet von
Ok, dann passt alles :)

Dankeschön!
0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)
Hallo,

es geht auch ohne Rahmen:

Sub Optionskästchen_einfügen()
Dim Wiederholungen As Integer, Position As Double, r As Range
Application.ScreenUpdating = False
Position = 0
For Wiederholungen = 1 To 10
Set r = Range("A" & Wiederholungen)
With ActiveSheet.GroupBoxes.Add(r.Left, r.Top, r.Width, r.Height)
.Characters.Text = ""
.Select
With ActiveSheet.OptionButtons.Add(r.Left, r.Top, r.Width / 2, r.Height)
.LinkedCell = r.Address
.Characters.Text = ""
End With

.Select
With ActiveSheet.OptionButtons.Add(r.Left + r.Width / 2, r.Top, r.Width / 2, r.Height)
.LinkedCell = r.Address
.Characters.Text = ""
End With
.Visible = False 'Rahmen Groupbox nicht sichtbar machen
End With

Next Wiederholungen

End Sub


Gruß

M.O.
0 Punkte
Beantwortet von
Noch besser!! :)))

Vielen, vielen Dank! :)
0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
@All,

übrigens: .Select kann man weglassen - man muss das Objekt nicht selektieren, da es durch die Verwendung von With ....Add(....) beim Erstellen bereits direkt angesprochen wird.

Bis später,
Karin
...