首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用命名范围为依赖于下拉列表值的文本框值编写Excel VBA代码

使用命名范围为依赖于下拉列表值的文本框值编写Excel VBA代码
EN

Stack Overflow用户
提问于 2014-03-27 18:24:32
回答 1查看 10.2K关注 0票数 4

我所拥有的:

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

我需要的是:

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

例如,当选择行业类别时,相应的行业代码应出现在文本框中。

我的牢房结构:

A栏(工业类别):

代码语言:javascript
运行
复制
Agriculture                               
Art and photography                       
Arts and theatre                          
Charity and non-profit                    
Corporate                                   
Educational and academic                

B栏(行业规范者):

代码语言:javascript
运行
复制
ag
ap
at
cn
co
ea

我的VBA代码:

填充行业类别的下拉列表

代码语言:javascript
运行
复制
'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

用于行业说明符的文本框

代码语言:javascript
运行
复制
IndustrySpecifier.Value = ""

我试过的是:

我已经复习了关于如何单独使用VBA代码来实现我需要的东西的教程,但是我不知道从哪里开始使用依赖的命名范围

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-27 18:46:21

你需要这样的东西:

代码语言:javascript
运行
复制
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

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22696111

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档