用户窗体列表框行源未填充
Userform listbox rowsource not populating
我有一个带有 OK
和 Cancel
按钮和列表框的用户表单。它应该使用此代码填充:
Private Sub UserForm_Initialize()
Me.StartUpPosition = 0
Me.Top = Application.Top + (Application.Height / 2) - (Me.Height / 2)
Me.Left = Application.Left + (Application.Width / 2) - (Me.Width / 2)
With Me.ListBox1
.RowSource = ""
.ColumnCount = 7
.ColumnWidths = "80;100;20;1;20;1;1000"
.RowSource = Sheets("BOH Database").Range("H9:N14").Address
' .RowSource = Sheets("BOH Database").Range("H9:N" & Sheets("BOH Database").Range("a65536").End(xlUp).Row - 1).Address
End With
End Sub
两个 RowSource 语句都不起作用。我曾尝试在再次填充之前清除 RowSource。我做错了什么?
编辑:
我已经在此处添加了我目前拥有的代码,因为它在评论中没有正确显示:
我正在使用基于您的代码的代码,它使 sheet 崩溃:
With Me.ListBox1
.ColumnCount = 7
.ColumnWidths = "80;100;20;1;20;1;1000"
.RowSource = "'" & Sheets("BOH Database").Name & "'!" & Sheets("BOH Database") _
.Range("H9:N" & Sheets("BOH Database").Range("a65536").End(xlUp).Row - 1).Address
End With
这是一种不正确的方法。语法是
ListBox1.RowSource = "SheetName!RangeAddress"
所以如果你的 sheet 名字是 Sheet1
那么上面的就变成了
ListBox1.RowSource = "Sheet1!H9:N14"
此外,由于您的 sheet 名称有一个 space,您必须在 sheet 名称前后添加 '
。
试试这个
ListBox1.RowSource = "'BOH Database'!H9:N14"
或者按照你的方式...
With Sheets("BOH Database")
ListBox1.RowSource = "'" & .Name & "'!" & .Range("H9:N14").Address
End With
这个怎么样。
Sub lbxChange ()
Dim sname as string
Dim ws as worksheet
Set sname = combobox1.value
Set ws = sheets(sname)
Listbox1.rowsource = ws.range("a1:d10")
End sub
不工作!!!!
我有一个带有 OK
和 Cancel
按钮和列表框的用户表单。它应该使用此代码填充:
Private Sub UserForm_Initialize()
Me.StartUpPosition = 0
Me.Top = Application.Top + (Application.Height / 2) - (Me.Height / 2)
Me.Left = Application.Left + (Application.Width / 2) - (Me.Width / 2)
With Me.ListBox1
.RowSource = ""
.ColumnCount = 7
.ColumnWidths = "80;100;20;1;20;1;1000"
.RowSource = Sheets("BOH Database").Range("H9:N14").Address
' .RowSource = Sheets("BOH Database").Range("H9:N" & Sheets("BOH Database").Range("a65536").End(xlUp).Row - 1).Address
End With
End Sub
两个 RowSource 语句都不起作用。我曾尝试在再次填充之前清除 RowSource。我做错了什么?
编辑: 我已经在此处添加了我目前拥有的代码,因为它在评论中没有正确显示: 我正在使用基于您的代码的代码,它使 sheet 崩溃:
With Me.ListBox1
.ColumnCount = 7
.ColumnWidths = "80;100;20;1;20;1;1000"
.RowSource = "'" & Sheets("BOH Database").Name & "'!" & Sheets("BOH Database") _
.Range("H9:N" & Sheets("BOH Database").Range("a65536").End(xlUp).Row - 1).Address
End With
这是一种不正确的方法。语法是
ListBox1.RowSource = "SheetName!RangeAddress"
所以如果你的 sheet 名字是 Sheet1
那么上面的就变成了
ListBox1.RowSource = "Sheet1!H9:N14"
此外,由于您的 sheet 名称有一个 space,您必须在 sheet 名称前后添加 '
。
试试这个
ListBox1.RowSource = "'BOH Database'!H9:N14"
或者按照你的方式...
With Sheets("BOH Database")
ListBox1.RowSource = "'" & .Name & "'!" & .Range("H9:N14").Address
End With
这个怎么样。
Sub lbxChange ()
Dim sname as string
Dim ws as worksheet
Set sname = combobox1.value
Set ws = sheets(sname)
Listbox1.rowsource = ws.range("a1:d10")
End sub
不工作!!!!