【问题标题】:How to have List Box contents dynamically depending on another List Box Selection in Excel - VBA user forms?如何根据 Excel 中的另一个列表框选择动态地获取列表框内容 - VBA 用户表单?
【发布时间】:2017-10-25 15:06:46
【问题描述】:

我有原始数据(非静态可能在其他运行时模块中发生变化) 在一列中,然后我为主列的每个元素都有列。

说主要是 A ,那么如果 A 有 3 个元素,那么列 B 、 C 和 D 将是具有各种数据行的次要列。

在用户表单中,我有两个列表框 1 和 2。如果用户在 ListBox1 中选择第二个元素,则 ListBox2 显示“C”列的内容。

Private Sub ListBox1_Click()
Dim X As Integer
Dim vCol As Variant
Dim srange As Range
Dim ssheeet As Worksheet
Set ssheeet = ThisWorkbook.Sheets("Sheet2")
X = ListBox1.ListIndex
Me.ListBox1.List = ssheeet.Columns(X + 1).Values* 
             '2nd selection i.e., 2+1 gives 3rd -> "C" column 
End Sub

Private Sub UserForm_Initialize()
Dim ssheeet As Worksheet
Set ssheeet = ThisWorkbook.Sheets("Sheet1")
Me.ListBox1.RowSource = "Sheet1!A:A"
End Sub

查询?

Me.ListBox1.List = ssheeet.Columns(X + 1).Values 在我必须为第二个列表框提供动态范围的情况下不起作用。 谢谢!

【问题讨论】:

    标签: vba excel userform


    【解决方案1】:

    这应该有效:

    Private Sub ListBox1_Click()
        Dim X As Integer
        Dim vCol As Variant
        Dim srange As Range
        Dim ssheeet As Worksheet
        Set ssheeet = ThisWorkbook.Sheets("Sheet2")
        X = ListBox1.ListIndex
        Me.ListBox2.RowSource = ssheeet.Columns(X + 1).Address
    End Sub
    

    你只能将一个数组推入 List 属性,所以它涉及到

    Private Sub ListBox1_Click()
        Dim X As Integer
        Dim vCol As Variant
        Dim srange As Range
        Dim ssheeet As Worksheet
        Set ssheeet = ThisWorkbook.Sheets("Sheet2")
        X = ListBox1.ListIndex
    
        Dim myArray() as variant
        myArray = ssheeet.Columns(X + 1).Values
        Me.ListBox2.List = myArray
    End Sub
    

    我已经测试过这个方法,它将包括Blank 在内的所有值推送到ListBox2 中。不太好,除非我们先确定数据范围。

    【讨论】:

    • 1. 我收到运行时错误 438,因为 Object 不支持 myArray = ssheeet.Columns(X + 1).Values 中的此属性或方法。 2.关于范围的事情,我在“X+1”列中有行数,比如 cell(2,2) 给了我 X+1 列中的行数。请帮忙
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    相关资源
    最近更新 更多