我有什么:
- 我在我的形式下拉列表中我是从一个 工作表填充。
- 我的代码只适用于命名范围。
我需要什么:
我需要从一整列,而不是一个命名范围填充我的下拉列表。选择一整列的范围,而不是一个命名的范围
我的VBA代码:
使用已命名范围的工作代码:
'Populate drop-down list (combo box) from range...
Dim range_b As Range
For Each range_b In Worksheets("2.1 Clients").Range("ClientList")
With Me.cs_ClientName1
.AddItem range_b.Value
.List(.ListCount - 1, 1) = range_b.Offset(0, 1).Value
End With
Next range_b
我已经试过:
我已经试过For Each
线的各种排列:
'For Each range_b In Worksheets("2.1 Clients").Columns(4)
'For Each range_b In Worksheets("2.1 Clients").Range(Columns(4))
'For Each range_b In Worksheets("2.1 Clients").Columns("D:D")
最后一个似乎导致Excel崩溃。
返回“End With”,没有“With”错误。我尝试将第三行改为“如果结束”和“如果不是”,但没有运气。 (我已按照建议创建了命名范围。) –
已更新,但这可能会影响性能,因为它会经历范围内的所有行。如果** ClientList **是一个表头并更改一些代码,则可以获得快速性能。 – PatricK
这两个工作,但我不能解决如何折扣方法二(“客户端”,标题单元格,填充在我的下拉列表中)的标题单元格。是否将D2设置为我的命名范围而不是D1? –