Excel 为什么我的选项按钮不向上切换组合框文本?

Excel 为什么我的选项按钮不向上切换组合框文本?,excel,vba,Excel,Vba,我有两个选项按钮,用户可以通过它的#或它的名字来搜索工作 因此,如果单击左选择按钮,它将显示为: 反之亦然: 然后我添加了这个来填充列表: Sub Search_Reqs_Cmb_IM() Dim rWs As Worksheet: Set rWs = ThisWorkbook.Worksheets("Approved Roles") If UserForm2.optSearchReq.Value = True Then 'search by job #

我有两个选项按钮,用户可以通过它的#或它的名字来搜索工作

因此,如果单击左选择按钮,它将显示为:

反之亦然:

然后我添加了这个来填充列表:

Sub Search_Reqs_Cmb_IM()
    Dim rWs As Worksheet: Set rWs = ThisWorkbook.Worksheets("Approved Roles")

    If UserForm2.optSearchReq.Value = True Then 'search by job #
        For x = 2 To rWs.Cells(Rows.Count, 2).End(xlUp).row
            UserForm2.cmbReqNum.AddItem rWs.Cells(x, 2) & " - " & rWs.Cells(x, 13)
        Next x
    ElseIf UserForm2.optSearchJob.Value = True Then 'search by job name
        For x = 2 To rWs.Cells(Rows.Count, 2).End(xlUp).row
            UserForm2.cmbReqNum.AddItem rWs.Cells(x, 13) & " - " & rWs.Cells(x, 2)
        Next x
    End If
End Sub
然后在每次单击按钮时查看每个选项按钮的代码,以
呼叫搜索\u请求\u Cmb\u IM


因此,当我点击其中一个时,无论我是否在两个选项按钮之间切换,它都会填充。如果我单击该选项按钮,我希望它切换到
作业名称-作业编号
,反之亦然。如何确保它在两种格式之间切换?

您需要调用
。在
之前清除
。添加项
,否则每次选择该选项时,您的列表都会增加

Sub Search_Reqs_Cmb_IM()
    Dim rWs As Worksheet: Set rWs = ThisWorkbook.Worksheets("Approved Roles")

    If UserForm2.optSearchReq.Value = True Then 'search by job #
        UserForm2.cmbReqNum.Clear
        For x = 2 To rWs.Cells(Rows.Count, 2).End(xlUp).Row
            UserForm2.cmbReqNum.AddItem rWs.Cells(x, 2) & " - " & rWs.Cells(x, 13)
        Next x
    ElseIf UserForm2.optSearchJob.Value = True Then 'search by job name
        UserForm2.cmbReqNum.Clear
        For x = 2 To rWs.Cells(Rows.Count, 2).End(xlUp).Row
            UserForm2.cmbReqNum.AddItem rWs.Cells(x, 13) & " - " & rWs.Cells(x, 2)
        Next x
    End If
End Sub

也给我们显示选项按钮代码。避免在过程名称中使用下划线“u”,因为它是为VBA中的事件保留的。您需要在
之前调用
.Clear
。AddItem
,否则每次选择该选项时列表都会增加。是的,就是这样。谢谢好的,我当时回答得很正确。