2016-08-23 161 views
0

我試圖在組合框中拉出我的桌子上的訂閱計劃。我能夠做到這一點,但即使有49個計劃需要展示,它也只顯示5個計劃。EXCEL VBA:未顯示組合框中的完整列表

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 

下面是我需要在我的組合框中顯示的信息以及只顯示哪些信息的屏幕截圖。沒有滾動條或什麼。

SUBSCRIPTION PLANS

VALUES IN COMBO BOX

+1

什麼是'清'開始解決?它只是5?可能使用'CurrentRegion'造成嚴重後果。如果你只是'清'= 49',是否列出所有計劃? – BruceWayne

+1

也許考慮使用這個。 'ching = Worksheets(「Subscription」)。Range(「A1048576」)。end(xlUp).row'而不是你現在擁有的 –

回答

1

這樣的事情,我總是有更多的成功將它們存儲在表中。 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 
0

在你的PIC我看到有在列一些有源濾波「A」

這可能會使得不可見的(未過濾的)任何空單元格,將只是第一個

以兩個前停止CurrentRegion最後一行防止填充非空白VALU出現這種情況,有框列表只有你可以編碼如下:

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

@KeithRelopez:你通過了嗎? – user3598756