首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未填充用户表单列表框的行源

未填充用户表单列表框的行源
EN

Stack Overflow用户
提问于 2015-06-19 15:50:07
回答 2查看 17.5K关注 0票数 1

我有一个带有OKCancel按钮以及列表框的用户表单。它应该使用以下代码进行填充:

代码语言:javascript
复制
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。我做错了什么?

编辑:我已经添加了我目前在这里的代码,因为它没有在评论中正确显示:我正在使用基于您的代码的代码,它正在崩溃:

代码语言:javascript
复制
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
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-19 16:10:02

这是一种不正确的做法。语法是

代码语言:javascript
复制
ListBox1.RowSource = "SheetName!RangeAddress"

因此,如果你的工作表名称是Sheet1,那么上面的代码就变成了

代码语言:javascript
复制
ListBox1.RowSource = "Sheet1!H9:N14"

另外,由于图纸名称中有空格,因此必须在图纸名称前后添加'

尝尝这个

代码语言:javascript
复制
 ListBox1.RowSource = "'BOH Database'!H9:N14"

或者以你的方式...

代码语言:javascript
复制
With Sheets("BOH Database")
    ListBox1.RowSource = "'" & .Name & "'!" & .Range("H9:N14").Address
End With
票数 1
EN

Stack Overflow用户

发布于 2018-05-31 21:50:15

这个怎么样。

代码语言:javascript
复制
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

不工作!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30932787

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档