2016-08-23 5 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'の使用の不利な点です。あなたがちょうど 'ching = 49'になったら、それはすべての計画をリストしていますか? – BruceWayne

+1

おそらくこれを使用することを検討してください。 ( "Subscription")Range( "A1048576")。end(xlUp).row'あなたの現在のものの代わりに –

答えて

1

私はいつもテーブルに格納する多くの成功を持っています。 CurrentRegionはおそらくあなたが期待していない範囲を返しています。試してみてくださいイミディエイトウィンドウに

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

のハイライトを参照してください。

あなたがテーブルにデータを格納した場合、あなたがこのような範囲にアクセスすることができます:私は列にいくつかのアクティブなフィルタがあります見るあなたのPICで

Dim DataRange as Range 
Dim ching as Long 

Set DataRange = Worksheets("Subscription").ListObjects("Table1").ListColumns(1).DataBodyRange 
ching = DataRange.Rows.Count 
0

を「」

これは、おそらく作ることができますするためにちょうど最初の

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

関連する問題