根据另一个组合框的选择更新组合框

时间:2013-03-03 17:08:29

标签: vba outlook outlook-vba

在VB for applications中我有这段代码:

Private Sub cc_Change()

End Sub

Private Sub UserForm_Initialize()
    cc.AddItem "op1"
    cc.AddItem "op2"
    cc.AddItem "op3"
    cc.AddItem "op4"

End Sub

以上作品。

我想进一步开发这个,所以当你点击“op1”你得到相关的选项时,这是我到目前为止的代码;

Private Sub combo2_Change()
    If cc = "op1" Then
    Me.combo2.RowSourceType = "Value List"
    Me.combo2.RowSource = "a; b; c"
    Else
    Me.combo2.RowSourceType = "Value List"
    Me.combo2.RowSource = "default"
    End If
End Sub

我只列出了“op1”,因为它可以转让。请你帮助我,当我选择“op1”时,我没有得到值“a”“b”或“c”

2 个答案:

答案 0 :(得分:0)

如果我得到了正确的结果,您需要编写更改事件中更改第一个组合框(cc)的事件的代码。尝试执行以下操作:

Private Sub cc_Change()
    If cc = "op1" Then
        Me.combo2.RowSourceType = "Value List"
        Me.combo2.RowSource = "a; b; c"
    Else
        Me.combo2.RowSourceType = "Value List"
        Me.combo2.RowSource = "default"
    End If
End Sub

答案 1 :(得分:0)

cc_Change()的私有子内 使用此:

If cc = "op1" Then
        combo2.AddItem "a"
Else
        combo2.AddItem "default"
End If