2012-03-08 9 views
0

現在開いているExcelブックを選択できるコンボボックスが1つあるExcel2010 VBAユーザーフォームがあります。 USERFORM_Initializeサブルーチンは、(特に)含まれていますVBA Excelのcomboboxドロップダウンがobj.addItemの後で空です

cbWorkbook.Clear 
    cbWorkbook.Visible = True 
    For Each wb In Workbooks 
     cbWorkbook.AddItem wb.name 
    Next wb 

私は、このコードにブレークポイントを設定し、それをステップ実行することができていています。現在の状況では、4つの開いているワークブックがあり、「それぞれのための」は、必要に応じて4回反復されます。 wb.nameには私が望む値が含まれていることがわかります。

ただし、フォームが表示され、ドロップボックスの矢印がクリックされると、「リスト」は空になります。 1つのアイテムのためのスペースがあるように見え、そのアイテムは空白です。 (私はこれが空のドロップダウンボックスの典型であると信じています)

コンボボックスの属性を選択してください: Autosize = False; AutoTab = false; Enabled = True; DropButtonStyle = 1-fmDropButtonStyleArrow; 身長= 18; ListRows = 8; ListStyle = 0;ロック= False; ShowOptionWhen = 2; SpecialEffect = 2;スタイル= 0; Visible = True。実行時に、cbWorkbook.listCount = 4

これは開発中であり、昨日のように動作するように見えましたが、今は動作しないようです。私が間違っているかもしれないどんなアイデア?

EDIT:私はこのソリューションを見つけました。誤って別のコンボボックスをcbWorksheetの上に重ねてしまい、事実上それを隠してしまいました。私が見ていたコントロールは空でしたが、私が望むコントロールはオーバーレイされていました。不正なコントロールボックスを削除することで問題が解決されました。

私の謝罪;これは私が求めた最初のものだったはずです。

+0

エラー処理はありますか? – SWa

+0

現時点でこのブックのどこにもエラー処理がありません。 – Dennis

+0

userformの完全なコードを投稿できますか? – SWa

答えて

1

私はこの問題に対する解決策を見つけました。誤って別のコンボボックスをcbWorksheetの上に重ねてしまい、事実上それを隠してしまいました。私が見ていたコントロールは空でしたが、私が望むコントロールはオーバーレイされていました。不正なコントロールボックスを削除することで問題が解決されました。

私の謝罪;これは私が求めた最初のものだったはずです。

0
With ComboBox1 
    .AddItem "This" 
    .AddItem "Is" 
    .AddItem "A" 
    .AddItem "Test" 
End With 

か、レンジデータとそれを埋めるためにしたい場合:

ActiveSheet.Shapes("ComboBox1").Select 
Selection.ListFillRange = "k1:k10" 

PS - レビュー用にファイルを送信してください。それを見て簡単にする必要があります!

+0

申し訳ありません...レビューのために提出するにはどうすればよいですか? – Dennis

関連する問題