2010-04-22 55 views
0

我在Excel中创建窗体(不是用户窗体),并使用单元格填充列表框。但是,这些单元格有时是A1:10,有时它们是A1:A4。有没有办法动态改变列表框中显示的内容?动态填充列表框 - 排除空单元格

现在,当我使用A1:10并且只有4个单元格填充时,我得到4个填充单元格的列表,其后是6个空白条目。我想摆脱6个空白时,只有4个。

回答

0

不幸的是,这是一个解决方案更多的解决方法。但是,它可能能够做你需要它做的事情。我一直在试图让范围变得动态,所以你一直在碰壁。

没有看到一些代码来确切知道你在做什么,尝试这样的事情。

Private Sub ListBox1() 
    x = 1 
    'Add items to listbox until you reach an empty cell. 
    Do while Cells(x,1) <> "" 
     ListBox1.AddItem Cells(x,1) 
    Loop 

我不是很熟悉用户表单以外的列表框,但是这应该大致做你想做的事情。

用您的代码编辑您的原始文章,以便我们尝试更好地理解您尝试过的内容以及您正在尝试执行的操作。

0

您可以使用动态公式创建命名范围。以下任一公式都可以使用。

=A1:INDEX($A$1:$A$10,MATCH("",$A$1:$A$10,0)-1) 

=OFFSET($J$7,0,0,MATCH("",$J$7:$J$32,0)-1) 

创建命名范围,按Ctrl + F3然后单击新建,插入两个选项之一以上进“指的是:”部分,然后贴上标签新系列无论你想。在列表框的“行源”部分,只需键入您为新命名范围选择的名称即可。