1
填充动态下拉我有我要在工作表“或”列出的项目来填充一个Excel表单上的下拉列表中,但我只需要从这个动态列表&唯一条目然后填充下拉。在Excel表格用VBA
搜查许多博客,暗示命名范围如下行来源属性,但我的名单有重复的项目&是动态的。
填充动态下拉我有我要在工作表“或”列出的项目来填充一个Excel表单上的下拉列表中,但我只需要从这个动态列表&唯一条目然后填充下拉。在Excel表格用VBA
搜查许多博客,暗示命名范围如下行来源属性,但我的名单有重复的项目&是动态的。
你可以写这样的代码:
Dim s As String, r As Integer, nr As Integer, wr, v
Set wr = Range("A1:A10")
nr = wr.Rows.Count
For r = 1 To nr
v = wr(r, 1)
If InStr(s, v & ",") = 0 Then
s = s & v & ","
End If
Next
s = Left(s, Len(s) - 1)
With Range("D1").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Formula1:=s
End With
这将使用数据验证,我认为数据在A1:A10和D1组合框。 组合框将只包含A1:A10不同的值
如果你喜欢一个组合框ActiveX对象试试这个:
Dim s As String, r As Integer, nr As Integer, wr, v
Set wr = Range("A1:A10")
nr = wr.Rows.Count
With ComboBox1
.Clear
For r = 1 To nr
v = wr(r, 1)
If InStr(s, v & ",") = 0 Then
s = s & v & ","
.AddItem (v)
End If
Next
End With
谢谢哥们......但是指定范围是Excel中和活性X组合的另一片出现在另一张纸。那么如何激活它们呢?请帮忙。 –
范围和组合(组WR = sheet1.range(“A1:A10”)和sheet1.ComboBox1)之前参照附页,应该工作。 – CRondao
谢谢..它解决了 –