ich bin dabei eine Userform über VBA automatisch mit Elementen zu befüllen. Dabei setze ich mehrere Frames, wobei ich mit den Angaben Top/Left super klar komme. Wenn ich allerdings eine CheckBox manuell in einen Frame hinzufüge, orientieren sich Top/Left an den Innenmaßen das Frames. Sprich ist das Frame mit Left: 10 und Top: 10 drin, ist die Checkbox bei einem Innenabstand von 5 nicht bei Left: 15 und Top: 15, sonderin einfach nur Left/Top: 5 ...
Wie weise ich dem Frame jetzt Checkboxen mit VBA zu? Weil mit absoluter Positionierung funktioniert es irgendwie nicht. Hier mal etwas Code um zu sehen wie ich es versucht habe:
Dim VBProj As VBIDE.VBProject
Dim VBComp As VBIDE.VBComponent
Set VBProj = ActiveWorkbook.VBProject
Set VBComp = VBProj.VBComponents("test")
Dim iCount as Integer
Dim iMaxFrames as Integer
With VBComp.Designer.Controls
For iCount = 0 To iMaxFrames - 1
With .Add("forms.Frame.1", "frame_" & iCount & "")
.Top = 10
.Left = 10
.Width = 100
.Height = 100
End With
With .Add("forms.checkbox.1", "checkbox_" & iCount & "")
.Top = 15
.Left = 15
.Widht = 50
.Height = 50
End With
Next
End With