如何基于在组合框用户选择填写一个文本框(V​​BA)(How to fill in a textbo

2019-10-23 03:58发布

我有麻烦的基础上组合框的选择,在我的窗体的文本框填充。 我也有试过用.Caption,.value的和.text。 我附上下面的什么,我试图做一个例子。 另外我不完全理解为什么组合框必须是Me.combobox时的名称是用户窗体的是“用户窗体”。 如果需要什么了澄清,只是要求和虐待尽量帮助你。

Private Sub UserForm_Initialize()

    'combobox for column thickness
    Me.ComboBox1.AddItem "W6 x 15"
    Me.ComboBox1.AddItem "W8 x 2"
    Me.ComboBox1.AddItem "W10 x 30 "

'trying to fill in textbox based on combobox
    If Me.ComboBox1.Text = "W6 x 15" Then
        UserForm1.TextBox17.Text = "W6 x 15"
    ElseIf Me.Combobox1.Text = "W8 x 24" Then
        Userform1.textbox17.Text = "W8 x 24"
    End If

Answer 1:

这里的问题是,你只是初始化组合框。 该组合框有一个事件,当它的价值变化。 这时候,你必须更新文本框的文本,那么试试这个:

Private Sub UserForm_Initialize()
    Me.ComboBox1.AddItem "W6 x 15"
    Me.ComboBox1.AddItem "W8 x 2"
    Me.ComboBox1.AddItem "W10 x 30"

End Sub

哦也,守信用“我”引用“父”对象,在这种情况下是用户窗体。 如果你使用“UserForm1”而不是“我”,这也将工作。

Private Sub ComboBox1_Change()
    Me.TextBox1.Text = Me.ComboBox1.Value
End Sub


文章来源: How to fill in a textbox based on user selection in a Combobox (VBA)