返回列表 上一主題 發帖

[發問] checkbox新增及更名

回復 2# rick4615
  1. Sub Test()
  2.   Dim ar, obj, i As Long
  3.   
  4.   With Sheets("資料")
  5.     'Combobox
  6.     ar = Application.Transpose(Application.Transpose(.Range(.[A3], .[A3].End(xlToRight)).Value))
  7.     .ComboBox1.List = ar
  8.    
  9.     '刪除checkbox
  10.     For Each obj In .OLEObjects
  11.       If obj.Name Like "CheckBox*" Then obj.Delete
  12.     Next
  13.    
  14.     '新增checkbox
  15.     For i = 1 To UBound(ar)
  16.       With .OLEObjects.Add(ClassType:="Forms.CheckBox.1", Link:=False, _
  17.         DisplayAsIcon:=False, Left:=0 + 93.5 * (i - 1), Top:=126, Width:=90, Height:=22.5)
  18.         .Object.Caption = ar(i)   '改名
  19.       End With
  20.     Next
  21.   End With
  22. End Sub
複製代碼

TOP

本帖最後由 stillfish00 於 2013-8-9 20:05 編輯

回復 4# rick4615

 .OLEObjects("CheckBox" & i)  
    不是一個安全的方法取得ActiveX物件,有時會發生 Run-time error 1004, Unable to get Object Property of OLEObject class

 改用 .OLEObjects(n)   取得(n為數字)比較安全,再另外判斷名字是否含CheckBox。

TOP

        靜思自在 : 原諒別人就是善待自己。
返回列表 上一主題