将两个选项按钮与单个组合框链接,用于不同的行源[关闭]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将两个选项按钮与单个组合框链接,用于不同的行源[关闭]相关的知识,希望对你有一定的参考价值。
我有三张“display”,“whole_list”,“loose_list”。我只是在显示表中绘制了一个组合框和2个选项按钮。
我在whole_list和loose_list中有200个项目列表。我希望当我点击optionbutton1组合框时会显示整个列表中的列表。如果我点击optionbutton2,它会显示loose_list中的列表。
有人可以指导我创建我上面提到的吗?
所以我有时间,并认为我会告诉你一个表格控件的方式。
假设display
选项卡具有Form组合框和两个Form选项按钮。
在whole_list
中设置了一个名为whole_list
的命名区域,覆盖了200个项目列表,例如A1:A200
并为loose_list
做同样的事情。
在standard module
中输入以下内容:
Option Explicit
Dim myList As Variant
Private Sub OptionButton1_Click()
mylist = ThisWorkbook.Worksheets("whole_list").Range("whole_list").Value
PopulateComboBox myList
End Sub
Private Sub OptionButton2_Click()
mylist = ThisWorkbook.Worksheets("loose_list").Range("loose_list").Value
PopulateComboBox myList
End Sub
Private Sub PopulateComboBox(myList As Variant)
Dim wb As Workbook
Dim ws as Worksheet
Set wb = ThisWorkbook
Set ws = wb.worksheets("display")
Dim myDropDown As DropDown
Set myDropDown = ws.Shapes("Drop Down 1").OLEFormat.Object
myDropDown.List = myList
End Sub
确保对象和工作表名称匹配。您可以通过突出显示组合框和选项按钮名称来检查组合框和选项按钮名称,然后检查工作表左上角的Name box
。
右键单击每个选项按钮并选择assign macro
并将每个按钮与正确的OptionButton
点击子关联。
如果你的对象是ActiveX
:
在包含ActiveX
对象的工作表代码窗口中,例如display
,如果你右键单击选项卡并选择view code
,它将调出代码窗口并输入以下内容(假设你有两个命名范围)
Option Explicit
Public myList As Variant
Private Sub OptionButton1_Click()
mylist = ThisWorkbook.Worksheets("whole_list").Range("whole_list").Value
Me.ComboBox1.List = myList
End Sub
Private Sub OptionButton2_Click()
mylist = ThisWorkbook.Worksheets("loose_list").Range("loose_list").Value
Me.ComboBox1.List = myList
End Sub
无需其他过程,也无需右键单击和分配宏。 Me
部分说参考代码所在的工作表。如果你有Option Explicit
,在工作表代码的顶部,那么你应该收到一个提示,其中包括你的组合框的名称,可用的选项,但你可以也从表格中的Name Box
得到它。在这里,我的组合框称为Combobox1
。
以上是关于将两个选项按钮与单个组合框链接,用于不同的行源[关闭]的主要内容,如果未能解决你的问题,请参考以下文章