【问题标题】:Excel VBA code for textbox value dependent on dropdown list value using named ranges文本框值的 Excel VBA 代码取决于使用命名范围的下拉列表值
【发布时间】:2014-05-06 22:16:14
【问题描述】:

我有什么:

  1. 我在 Excel VBA 中有一个自定义用户表单。
  2. 表单包含一个下拉列表(行业类别)和文本框(对应的行业说明符)。
  3. 对于每个行业类别,都有一个行业说明符(该类别的首字母缩写形式)。
  4. 行业类别行业说明符将始终位于同一行。
  5. 下拉列表由单元格名称范围填充。

我需要什么:

文本框的值需要依赖于下拉列表的值。

例如When an industry category is selected, the corresponding industry code should appear in the textbox.

我的细胞结构:

A 列(行业类别):

Agriculture                               
Art and photography                       
Arts and theatre                          
Charity and non-profit                    
Corporate                                   
Educational and academic                

B 列(行业说明符):

ag
ap
at
cn
co
ea

我的 VBA 代码:

填充行业类别的下拉列表:

'Populate Industry combo box.
Dim range_c As Range
Dim ws_c As Worksheet
Set ws_c = Worksheets("4.1 List data")

For Each range_c In ws_c.Range("IndustryList")
  With Me.Industry
    .AddItem range_c.Value
    .List(.ListCount - 1, 1) = range_c.Offset(0, 1).Value
  End With
Next range_c

行业说明符的文本框:

IndustrySpecifier.Value = ""

我尝试过的:

我已经阅读了有关如何单独使用 VBA 代码实现所需功能的教程,但我不知道从哪里开始使用依赖命名范围

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    你需要这样的东西:

    Private Sub UserForm_Initialize()
        Dim range_c As Range
    
        For Each range_c In Worksheets("4.1 List data").Range("IndustryList")
          With Me.Industry
            .AddItem range_c.Value
            .List(.ListCount - 1, 1) = range_c.Offset(0, 1).Value
          End With
        Next range_c
    End Sub
    
    Private Sub Industry_Change()
        With Me.Industry
            If .ListIndex = -1 Then
                IndustrySpecifier.Text = ""
            Else
                IndustrySpecifier.Text = .List(.ListIndex, 1)
            End If
        End With
    End Sub
    

    【讨论】:

    • 完美运行。谢谢。
    猜你喜欢
    • 2018-01-02
    • 2014-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-07
    • 2018-09-16
    • 2023-04-08
    相关资源
    最近更新 更多