EXCEL VBA:不显示combobox中的完整列表

我正试图在combobox中提取我的桌子上的订阅计划。 我能够做到这一点,但即使有49个计划需要展示,也只能显示5个计划。

Option Explicit Dim tush As Boolean Dim ching, i As Long Private Sub btnFax87_Click() ching = Worksheets("Subscription").Range("A1").CurrentRegion.Rows.Count boxSubF.Clear For i = 2 To ching boxSubF.AddItem Worksheets("Subscription").Cells(i, 1).Value Next i End Sub 

以下是我需要在combobox中显示的信息的屏幕截图以及仅显示哪些信息。 没有滚动条或什么。

订阅计划

价值在combobox

对于这样的事情,我总是有更多的成功存储在一张桌子。 CurrentRegion可能正在返回一个你不期望的范围。 试着做

 Worksheets("Subscription").Range("A1").CurrentRegion.Select 

在即时窗口中,看看有什么亮点。

如果您将数据存储在表中,则可以像这样访问范围:

 Dim DataRange as Range Dim ching as Long Set DataRange = Worksheets("Subscription").ListObjects("Table1").ListColumns(1).DataBodyRange ching = DataRange.Rows.Count 

在你的图片我看到有一些积极的过滤列“A”

这可能会使不可见的(不过滤)任何空单元格,这将停止 CurrentRegion最后一行之前的第一个

为了既防止这种情况发生,并使combobox列表填充非空白值,只有您可以编码如下:

 Dim cell As Range For Each cell In Worksheets("Subscription").Columns(1).SpecialCells(XlCellType.xlCellTypeConstants, xlTextValues) boxSubF.AddItem cell Next cell