用户窗体列表框显示范围内的值
Userform listbox to show values from a range
我正在尝试在 Excel 中创建一个用户窗体,其中我有一个 ComboBox 并基于所选的值,来自一系列单元格的值将显示在用户窗体的列表框中。
到目前为止我有这个。
Private Sub UserForm_Initialize()
With ComboBox1()
.AddItem "Item1"
.AddItem "Item2"
.AddItem "Item3"
.AddItem "Item4"
.AddItem "Item5"
.AddItem "Item6"
.AddItem "Item7"
End With
End Sub
Sub ComboBox1_Change()
If ComboBox1.ListIndex = Outlook Then
Range("A3:B11").Show
Else
If ComboBox1.ListIndex = NoNetwork Then
Range("C3:D11").Show
End If
End If
End Sub
如果我将 Range("A3:B11").Show
更改为 Range("A3:B11").Select
它将 select 这个范围。
如何在用户窗体上显示此范围内的数据?
这是一种方法:
1.将一些命名范围添加到您的工作表
范围 B2:C3
已分配给名为 Name1
的命名范围。范围E2:F3
分配给Name2
,等等
2。使用 ComboBox
和 ListBox
创建用户表单
3。在相关模块中放置如下代码:
Userform1 模块
Private Sub UserForm_Initialize()
ComboBox1.List = Array("Name1", "Name2", "Name3", "Name4")
End Sub
Private Sub ComboBox1_Change()
Dim n As Name
Set n = ThisWorkbook.Names(ComboBox1.Value)
If Not n Is Nothing Then
ListBox1.RowSource = n.RefersToRange.Address
ListBox1.ColumnCount = n.RefersToRange.Columns.Count
End If
End Sub
任何标准模块
Public Sub ShowUserform()
With New UserForm1
.Show vbModal
End With
End Sub
4。 运行 来自标准模块的 ShowUserform
子和 select 一个名字!
我正在尝试在 Excel 中创建一个用户窗体,其中我有一个 ComboBox 并基于所选的值,来自一系列单元格的值将显示在用户窗体的列表框中。
到目前为止我有这个。
Private Sub UserForm_Initialize()
With ComboBox1()
.AddItem "Item1"
.AddItem "Item2"
.AddItem "Item3"
.AddItem "Item4"
.AddItem "Item5"
.AddItem "Item6"
.AddItem "Item7"
End With
End Sub
Sub ComboBox1_Change()
If ComboBox1.ListIndex = Outlook Then
Range("A3:B11").Show
Else
If ComboBox1.ListIndex = NoNetwork Then
Range("C3:D11").Show
End If
End If
End Sub
如果我将 Range("A3:B11").Show
更改为 Range("A3:B11").Select
它将 select 这个范围。
如何在用户窗体上显示此范围内的数据?
这是一种方法:
1.将一些命名范围添加到您的工作表
范围 B2:C3
已分配给名为 Name1
的命名范围。范围E2:F3
分配给Name2
,等等
2。使用 ComboBox
和 ListBox
3。在相关模块中放置如下代码:
Userform1 模块
Private Sub UserForm_Initialize()
ComboBox1.List = Array("Name1", "Name2", "Name3", "Name4")
End Sub
Private Sub ComboBox1_Change()
Dim n As Name
Set n = ThisWorkbook.Names(ComboBox1.Value)
If Not n Is Nothing Then
ListBox1.RowSource = n.RefersToRange.Address
ListBox1.ColumnCount = n.RefersToRange.Columns.Count
End If
End Sub
任何标准模块
Public Sub ShowUserform()
With New UserForm1
.Show vbModal
End With
End Sub
4。 运行 来自标准模块的 ShowUserform
子和 select 一个名字!