返回列表 上一主題 發帖

[發問] 依欄數建立選項,並有相似程式指令

回復 2# lpk187

謝謝

單純這樣使用可以
可是若要套用進其他程式
有時會現在可以 稍微控制像做些修改後 就又不行了
常常會在  Set X_OB(A).OB = Controls(A)     這行出現錯誤

希望高手們能繼續指導
謝謝

TOP

今天想到 1個方法 不需用  Dim X_OB( ) As New Class1  ( 多一個 Class )
而是把 private  WithEvents OB_控件陣列  As MSForms.OptionButton 直接放在 UserForm  裡面
就可以實現控件陣列的方法
可以減少麻煩
有稍為 try 過, 好像可行  ......  good!!

TOP

本帖最後由 lpk187 於 2015-6-16 22:23 編輯

回復 1# lyc43210


   
也不知對不對,呵呵!我也是練習
UserForm:
  1. Dim X_OB() As New Class1

  2. Private Sub UserForm_Initialize()
  3.     I = Cells(1, 1).End(xlToRight).Column
  4.     h = 0
  5.     ReDim X_OB(1 To I)
  6.     Dim myC As Control
  7.     For A = 1 To I
  8.         Set myC = Controls.Add(bstrprogid:="Forms.optionButton.1")
  9.         myC.Top = h
  10.         h = h + 20
  11.         myC.Caption = Cells(1, A)
  12.         Set X_OB(A).OB = Controls(A)
  13.     Next A
  14. End Sub
複製代碼
Class1:
  1. Public WithEvents OB As MSForms.OptionButton

  2. Private Sub OB_Click()
  3.     UserForm1.Label1 = OB.Caption
  4. End Sub
複製代碼

TOP

        靜思自在 : 一個缺口的杯子,如果換一個角度看它,它仍然是圓的。
返回列表 上一主題