返回列表 上一主題 發帖

[發問] ComboBox 增加選項

回復 9# GBKEE


    有試過迴圈的寫法  可是值還是顯示不出來  不知道問題點在哪......
  1. Private Sub Year01_Change()
  2. Set x = Sheets("Base")
  3. For I = 4 To 20
  4.      If x.Cells(I, 20) <> "" Then
  5.      Year01.AddItem x.Cells(I, 20)
  6.      Next I
  7.      End If
  8. End Sub
複製代碼

TOP

本帖最後由 GBKEE 於 2013-5-26 07:15 編輯

回復 11# 小華

  1. Private Sub Year01_Change()
  2.     Set x = Sheets("Base")
  3.     For I = 4 To 20
  4.         If x.Cells(I, 20) <> "" Then
  5.             Year01.AddItem x.Cells(I, 20)
  6.         End If     '***你對調了**
  7.      Next I        '***你對調了**
  8. End Sub
複製代碼
  附檔表單程式碼如要可以使用   x.[t4].End(xlDown)
不加 x.  [t4]是ActiveSheet(使用中)工作表的儲存格,無法結合"Base"的儲存格與ActiveSheet的儲存格
如 "Base"是ActiveSheet時 就可以不加 x.  
Private Sub Year01_Change()
Set x = Sheets("Base")
ComboBox1.List = x.Range("t4", x.[t4].End(xlDown)).Value
'** ComboBox1 *** 是否要改成 Year01
End Sub

1#說 要如何讓ComboBox也自動的增加
是希望點選Year01可以載入所有的年度資料供選擇,可如下
Enter、Exit 事件
Enter 主要發生在一個控制項,從同一表單上的另一個控制項取得駐點之前;Exit 會在一個控制項失去駐點時發生。
  1. Private Sub Year01_Enter()
  2.     Set x = Sheets("Base")
  3.     Year01.List = x.Range("t4", x.[t4].End(xlDown)).Value
  4. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 12# GBKEE


謝謝先進!!   
   
把程式碼寫在Enter事件,值就可以顯示出來了

另外想請問版主
   
Year01.List = x.Range("t4", x.[t4].End(xlDown)).Value    這句程式碼代表甚麼意思??
   
因為我有參考別人的寫法   他是用迴圈的寫法加上Additem

TOP

回復 13# 小華
控制項的清單=儲存格(範圍)的值或是陣列
  如Year01.List =Range(t4:t20).Value   
  如Year01.List =array("a","b","c","d","e")
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

        靜思自在 : 【蒙蔽的自由】人常在什麼都可以自由自在的時候,卻被這種隨心所欲的自由蒙蔽,虛擲時光而毫無覺知。
返回列表 上一主題