首页 > 解决方案 > 在只读文本框中显示选择

问题描述

Private Sub cmbPrdCde_Enter()
Dim ary As Variant, nary As Variant, r As Long
If cmbSDPFLine.Value = "Slat" Then
    cmbPrdCde.Clear
    cmbPrdCde.Value = ""
    With ThisWorkbook.Worksheets(cmbSDPFLine.Value)
        ary = .Range("B3", .Range("B" & Rows.Count).End(xlUp).Offset(, 1))
        ReDim nary(1 To UBound(ary))
            For r = 1 To UBound(ary)
                nary(r) = ary(r, 1) & " (" & ary(r, 2) & ")"
            Next r
    Me.cmbPrdCde.List = nary
    End With
End If
End Sub

上面的代码放置 B 列和 C 列的值,并将它们连接到用户表单上的一个组合框中。B 列包含项目的产品代码,C 列包含项目的名称。根据选择的内容,我如何在只读文本框中仅显示 C 列的值。

标签: excelvba

解决方案


您可以从 comboBox.list 中取回 C 列文本:

Private Sub cmbPrdCde_Change()
x = Split(Me.cmbPrdCde.Value, " (")
Yourtextbox.Value = Left(x(1), Len(x(1)) - 1)
End Sub

或者您可以使用 listIndex 并从工作表本身获取值


推荐阅读