OptionButton programozás probléma

OptionButton programozás probléma
2020-10-13T19:25:25+02:00
2020-10-19T07:38:39+02:00
2022-10-15T21:26:01+02:00
ebalint
Programból szeretném az OptionButton Visible paraméterét állítani, de Run-Time Error-t kapok.
Itt csak a program egy szűkített (kritikus) része, ciklusból szeretnék több OptionButtont létrehozni, és azok paramétereit állítani.
A sima direkt hivatkozásban megcsinálja, de ha OLEObject-ként használnám akkor nem, pedig ugyanígy a nevet átírja ...


Private Sub CommandButton1_Click()   ' létrehozás
 x = 100
 y = 150
 ActiveSheet.OLEObjects.Add(ClassType:="Forms.OptionButton.1", Link:=False, DisplayAsIcon:=False, _
 Left:=x, Top:=y, Width:=90.75, Height:=20.25).Select
 ActiveSheet.OLEObjects("OptionButton1").Object.BackColor = &HC0FFC0
 ActiveSheet.OLEObjects("OptionButton1").Object.Caption = "Első"
 End Sub

Private Sub CommandButton2_Click() ' ahol a hiba van
  '   ActiveSheet.OptionButton1.Visible = False
   ActiveSheet.OLEObjects("OptionButton1").Object.Caption = "Vált "
   ActiveSheet.OLEObjects("OptionButton1").Object.Visible = False
  '    ActiveSheet.OLEObjects("OptionButton" & Trim(Str(i))).Object.Visible = False
End Sub

Tudtok valamit javasolni?
Mutasd a teljes hozzászólást!
Szia!

kiszedtem az .Object -et, nekem így lefut:

Private Sub CommandButton2_Click() ' ahol a hiba van ' ActiveSheet.OptionButton1.Visible = False ActiveSheet.OLEObjects("OptionButton1").Object.Caption = "Vált " ActiveSheet.OLEObjects("OptionButton1").Visible = False ' ActiveSheet.OLEObjects("OptionButton" & Trim(Str(i))).Object.Visible = False End Sub
De működni kell ennek is:

ActiveSheet.OptionButton1.Visible = False
Mutasd a teljes hozzászólást!

  • Jéé :) teljesen igazad van ... viszont a Caption előtt meg kell az Object szó .... nekem kicsit zavaros, de lényeg hogy működik.
    Természetesen a 2. mód is jó, de ott nem változó a Control neve, és én For ciklusban akarom használni a dolgot.

    Köszi a megoldást :)
    Mutasd a teljes hozzászólást!
  • Nincs mit.

    Viszont az alábbi szintaktikával sz összes tulajdonság elérhető:

    With ActiveSheet.OptionButton1 .Caption="akármi" .Visible=True/False End With
    (ha csak egy tulajdonságot akarsz változtatni, nem kell a Wtih-End With formula)
     
    Ha OleObject-ként hivatkozol, akkor más a szintaktika.
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd