oobird
凸槌的木工
論壇維護群
離線
文章: 4679
|
Private Sub CheckBox3_Change() If CheckBox3 Then [j3].ClearContents b = Array("CheckBox1 ", "CheckBox2 ", "CheckBox7 ", "CheckBox8 ") b = False [i3] = [b6] End If End Sub 上面程式" b = False"不起作用,請問CheckBox多的話該如何處理?
|
|
|
|
|
已記錄
|
結廬待慧君
|
|
|
leonchou
論壇維護群
離線
文章: 1204
|
|
|
|
|
« 最後編輯時間: 2005-06-28, 13:48:03 由 leonchou »
|
已記錄
|
|
|
|
oobird
凸槌的木工
論壇維護群
離線
文章: 4679
|
我的CheckBox沒有放在UserForm裡,直接拉出放在工作表上,若要一次選取CheckBox1~CheckBox33,將其屬性設為false, 如何較省事?
|
|
|
|
|
已記錄
|
結廬待慧君
|
|
|
leonchou
論壇維護群
離線
文章: 1204
|
假設工作表為 Sheet1 --
For i = 1 To 33 Sheet1.OLEObjects("checkbox" & i).Object.Value = False Next i
ActiveX Control 是屬於 OLEObject 的一種。 要存取控制項的屬性,需先以 OLEObject 的 Object 屬性取得控制項物件的引用。
另一個例子: For Each o In ActiveSheet.OLEObjects If o.Name Like "Combo*" Then 'If TypeName(o.Object) = "ComboBox" Then '這樣寫亦可 o.ListFillRange = "A6:A10" '設定清單來源 o.Object.Text = "初始值" '設定值的方法1 o.Object.Value = "初始值" '設定值的方法2 End If Next
|
|
|
|
|
已記錄
|
|
|
|
oobird
凸槌的木工
論壇維護群
離線
文章: 4679
|
謝謝,很棒的教學,單獨執行沒有問題,我把它放在Worksheet_SelectionChange事件郤不執行,請問這樣看得出問題嗎? Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Address = "$B$1" Then For i = 1 To 33 Sheet1.OLEObjects("checkbox" & i).Object.Value = False Next i Range("e24").ClearContents End If End Sub
|
|
|
|
|
已記錄
|
結廬待慧君
|
|
|
oobird
凸槌的木工
論壇維護群
離線
文章: 4679
|
對不起,我知道我的問題了,與這程式無關,多謝費心。
|
|
|
|
|
已記錄
|
結廬待慧君
|
|
|
wang
高中生
離線
文章: 101
|
oobird 兄 xp+2003.ok
|
|
|
|
|
已記錄
|
|
|
|
oobird
凸槌的木工
論壇維護群
離線
文章: 4679
|
wang兄,謝謝關心,因為"Range("e24").ClearContents"這一段造成,而我的e24是合併儲存格,所有發生錯誤,是自己不注意,已改好了,不好意思啦!
|
|
|
|
|
已記錄
|
結廬待慧君
|
|
|
|