[VBA ] 請問UserForm中動態物件的更新問題

看板Visual_Basic作者 (sigh)時間17年前 (2009/03/10 20:39), 編輯推噓1(105)
留言6則, 1人參與, 最新討論串1/1
想請問版上各位前輩 我目前在UserForm_Activate裡建立了動態的物件,如下 Private Sub UserForm_Activate() Dim myComboBox(20) As ComboBox Dim myTextBox(20) As TextBox myComboBox(1) = Controls.Add("Forms.ComboBox.1", "myCbBox" & 1) myTextBox(1) = Controls.Add("Forms.ComboBox.1", "myTB" & 1) myComboBox(1).AddItem XXX(n) 'XXX(n)為欲加入下拉式選單的東西,是陣列 '選擇下拉式選單的東西,將其資訊對應到動態TextBox Select Case myComboBox(1).ListIndex Case 0 myTextBox(1).Text = YYY(0) Case 1 myTextBox(1).Text = YYY(1) End Select End Sub 因為必須要用動態物件... 大致上的操作情境為進入此UserForm後 會把一些東西丟到動態物件myComboBox(1)下拉式選單去,然後選擇其中的東西 XXX(n) 會顯示YYY(0) or YYY(1)在動態物件 myTextBox(1) 但目前因為是在Activate下,所以選擇下拉式選單之後,並不會有接下來的動作 請問要如何才能解決這個問題呢? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.195.209.225 ※ 編輯: hallfive 來自: 123.195.209.225 (03/10 20:43)

03/10 22:24, , 1F
儲存動態生成的控制項的變數要放在模組宣告區才對
03/10 22:24, 1F

03/10 22:24, , 2F
(就是程式碼的最上面,第一個sub或function之前)
03/10 22:24, 2F

03/10 22:25, , 3F
要選了東西後有動作必須要寫事件的程式碼啊 不然怎麼知道
03/10 22:25, 3F

03/10 22:25, , 4F
要做什麼?
03/10 22:25, 4F

03/10 22:26, , 5F
宣告變數時也必須Dim WithEvents x(20) AS Combobox 才行
03/10 22:26, 5F

03/10 22:27, , 6F
然後就可以在程式碼視窗上方的兩個下拉選擇物件及事件了
03/10 22:27, 6F
※ 編輯: hallfive 來自: 123.195.209.225 (03/10 23:01)
文章代碼(AID): #19jbzg7g (Visual_Basic)