【发布时间】:2014-02-24 19:48:39
【问题描述】:
我在名为“电子邮件”的工作表的 A 列中有一个姓名列表
我想用名称 Column A 填充一个用户窗体 ListBox。但是,我不能指定一个固定范围,因为这个列表会增长和缩小。那么如何让用户表单使用正确数量的项目填充列表?
这是我目前正在尝试但不起作用的方法(我相信这里的某些人会明白为什么不这样做),我还看到了另一个使用简单 For 循环的示例,但我找不到再举一个例子给你看。
Private Sub UserForm_Initialize()
Dim rngName As Range
Dim rng1 As Range
Dim rng2 As Range
Dim ws As Worksheet
Set ws = Worksheets("Email")
Set rngName = ws.Range("A:A").Find(What:="*", LookAt:=xlWhole, MatchCase:=False, SearchOrder:=xlByRows, SearchDirection:=xlPrevious)
Set rng1 = ws.Range("A1")
On Error GoTo ErrorHandle
Me.lbUsed.List = Range(rng1 & ":" & rngName).Value
ErrorHandle:
End Sub
编辑:
我现在有以下代码,但是当我加载用户表单时它无法工作:
Private Sub UserForm_Initialize()
Dim rngName As Range
Dim rng1 As Range
Set rngName = Worksheets("Email").Range("A:A").Cells.Find(What:="*", LookAt:=xlWhole, MatchCase:=False, SearchOrder:=xlByRows, SearchDirection:=xlPrevious)
Set rng1 = Worksheets("Email").Range("A1:" & rngName.Address)
Me.lbUsed.List = Worksheets("Email").Range(rng1).Value
End Sub
谁能指出我正确的方向?
【问题讨论】:
标签: vba excel listbox listboxitem