【发布时间】:2018-02-04 19:49:11
【问题描述】:
我是 VBA 的初学者。我有一个方案来确定在同一工作簿的另一个工作表中设计的自定义表单中绑定和操作来自不同工作表的数据的完美方式。
有两张纸,一张是不同年份的水果名称,另一张是每年的数量。
这是表格 1 的数据。
基于此,我需要将这些年份绑定到一个下拉列表,将水果绑定到另一个下拉列表(基于年份,它应该动态加载)。由于我以前在 .NET 方面的经验,因此如果我们将所有内容视为数据表,则可以使用一些过滤器或仅使用一些循环或使用 LINQ 轻松操作任何内容。但是在 VBA 中,我们如何根据这些数据处理这些绑定和操作。此外,如果行不能总是在特定的单元格范围内,可能会有更多。那么我们如何处理动态数据呢。
基于this link我尝试的绑定如下
Dim vArr as Variant
Dim i as Integer
vArr = WorksheetFunction.Transpose(Sheets(2).Range("A2:A10").value)
With Sheets(1).OLEObjects("ComboBox1").Object
.Clear
For i = Lbound(vArr) to Ubound(vArr)
.AddItem vArr(i)
Next i
End With
【问题讨论】:
-
这不是将您的年数添加到您的组合框中吗?看起来它应该对我有用。
-
对不起.. 很好.. 没有问题.. 但我的问题是,如果没有特定的结束单元格,我们如何才能做到这一点.. 就像动态数据一样。另外,如果我需要根据第一个下拉列表中选择的年份加载第二个下拉列表,是否有任何简单的解决方案,例如 Selecting all rows where year is that selected year in dropdown 1