用于文本框值的Excel VBA代码依赖于使用命名范围的下拉列表值
我拥有的:
- 我在Excel VBA中有一个自定义用户表单。
- 该表格包含一个下拉列表( 行业类别 )和文本框(相应的行业说明 )。
- 对于每个行业类别,都有一个行业说明符 (类别的首字母缩略词)。
- 行业类别和行业指定者将永远在同一行。
- 下拉列表从单元格的名称范围填充。
我需要的:
文本框的值需要依赖于下拉列表的值。
例如,当select一个行业类别时 ,相应的行业代码应该出现在文本框中。
我的细胞结构:
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代码来实现我所需要的教程,但我不知道从哪里开始使用依赖的命名范围
你需要这样的东西:
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