作者hallfive (sigh)
看板Visual_Basic
标题[VBA ] 请问UserForm的更新问题
时间Tue Mar 10 20:39:05 2009
想请问版上各位前辈
我目前在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)
1F:推 fumizuki:储存动态生成的控制项的变数要放在模组宣告区才对 03/10 22:24
2F:→ fumizuki:(就是程式码的最上面,第一个sub或function之前) 03/10 22:24
3F:→ fumizuki:要选了东西後有动作必须要写事件的程式码啊 不然怎麽知道 03/10 22:25
4F:→ fumizuki:要做什麽? 03/10 22:25
5F:→ fumizuki:宣告变数时也必须Dim WithEvents x(20) AS Combobox 才行 03/10 22:26
6F:→ fumizuki:然後就可以在程式码视窗上方的两个下拉选择物件及事件了 03/10 22:27
※ 编辑: hallfive 来自: 123.195.209.225 (03/10 23:01)