0

我有 2 个小组合框列表。第一个列表标记为 Type(1-5)。第二个列表是带标签的产品 (1-5)。我想填充每个 PRODUCT 框,等待在相应的 TYPE 框中进行选择。我目前正在执行以下操作...

Private Sub Type1_Change()
    NavComboPropChange
End Sub

Sub NavComboPropChange()
    If BaseActiveControl.Name = "AVM" Then
         = Worksheets("Setup").Range("AVM").Value
    ElseIf BaseActiveControl.Name = "Appraisal" Then
         = Worksheets("Setup").Range("APPRAISAL").Value
    Else
         = Worksheets("Setup").Range("TITLES").Value
    End If
End Sub

BaseActiveControl.name 获取当前选定的根控件元素。IF、ElseIf、Else 序列中的等号之前是产品​​名称和相应的值。

不过,为了重申我的问题,我想知道如何获取控件名称的数字部分以与产品框名称一起使用。

4

1 回答 1

0

我使用这条路线找到了解决方案。

Sub NavComboPropChange()
    Dim myString As String
    myString = Right(BaseActiveControl.Name, Len(BaseActiveControl.Name) - 4)
    If BaseActiveControl.Value = "AVM" Then
        Controls("Products" & myString).List = Worksheets("Setup").Range("AVM").Value
    ElseIf BaseActiveControl.Value = "Appraisal" Then
        Controls("Products" & myString).List = Worksheets("Setup").Range("APPRAISAL").Value
    Else
        Controls("Products" & myString).List = Worksheets("Setup").Range("TITLES").Value
    End If
End Sub
于 2013-11-06T14:35:45.413 回答