Board logo

標題: [發問] ComboBox拉下選項問題 [打印本頁]

作者: patrickccs    時間: 2014-8-5 08:08     標題: ComboBox拉下選項問題

我是初學的, 所以我參考這裡大大的帖子, 我參考了以下的程式, 但想知道為什麼要用 For...Next?

Private Sub UserForm_Activate()
                     
             Dim MyArray As Variant
            Dim Ctr As Integer
            MyArray = Array("1A", "2B", "3A")
            For Ctr = LBound(MyArray) To UBound(MyArray)
            UserForm2.ComboBox1.AddItem MyArray(Ctr)
     Next


     
            End Sub
作者: GBKEE    時間: 2014-8-5 08:35

本帖最後由 GBKEE 於 2014-8-5 09:17 編輯

回復 1# patrickccs
LBound,UBound 等函數可到VBA視窗的說明看看了解一下用法

LBound(MyArray),傳回MyArray這陣列元素的下限索引值 =0
UBound(MyArray),傳回MyArray這陣列元素的上限索引值=2
For Ctr 這迴圈, 會從 0 的 2 依序傳回
MyArray(0)="1A", MyArray(1)="2B", MyArray(2)="3A"
作者: patrickccs    時間: 2014-8-5 08:51

回復 2# GBKEE 明白, 謝謝解答, 即是說, 在MyArray裡, 我增加多一些, 4A, 5A等等, UBound就會隨著MyArray有多少項而增加, 對嗎?

另外, 如果ComboBox的選項資料我不想自己設定, 而是從excel表欄A中所取得, 那我應該從哪個方向學, 要用哪一個command呢?

感謝!!!
作者: GBKEE    時間: 2014-8-5 09:03

回復 3# patrickccs
再多看看討論區的回覆文,對vba的用法可以多了解ㄧ些.
  1. Private Sub UserForm_Initialize() '表單初始化(未顯示前)的預設程式
  2.     ComboBox1.List = Sheets(1).[a1:a15].Value  '指定範圍
  3. End Sub
複製代碼





歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)