用户窗体列表框行来源不填充(Userform listbox rowsource not popul

2019-10-23 10:25发布

我有一个用户窗体OKCancel按钮和一个列表框。 它应该使用此代码来填充:

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

无论行来源语句的工作。 我试图重新填充它之前清除行来源。 我究竟做错了什么?

编辑:我添加的代码我目前在这里,因为它没有在注释正确显示:我使用的是基于你的代码,它的轰然表:

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

Answer 1:

这是做了不正确的方式。 语法

ListBox1.RowSource = "SheetName!RangeAddress"

所以,如果您的工作表名称是说Sheet1那么上面的变

ListBox1.RowSource = "Sheet1!H9:N14"

此外,由于你的工作表名称中有空格,你必须添加'之前和工作表名称后。

尝试这个

 ListBox1.RowSource = "'BOH Database'!H9:N14"

或者你的方式......

With Sheets("BOH Database")
    ListBox1.RowSource = "'" & .Name & "'!" & .Range("H9:N14").Address
End With


Answer 2:

这个怎么样。

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

不行 !!!!



文章来源: Userform listbox rowsource not populating