2011-08-07 14 views

答えて

19

Listプロパティを使用します。

ListBox1.AddItem "foo" 
ListBox1.List(ListBox1.ListCount - 1, 1) = "bar" 
+0

ありがとうございます。今私はその価値を知りたいのですが、どうすればいいのですか?私はListBox1.Value ...第2列のボットを行う最初の列の値を取得することを意味しますか? –

+1

@Andrei Ion同じように。 'List'はプロパティであり、両方の方法で動作します。 – GSerg

+0

はい、同じ方法でなければならないと思っていましたが、選択した項目の行はわかりません...列は1行であることはわかっていますか?私はListBox1.ListCount - 1は、値を追加するときに行だと思います...どのように値が選択されているときに行がわかりますか?どうもありがとう! –

-5

選択propety

行ソースの種類=>値の一覧

コード:

ListbName.ColumnCount = 2

ListbName.AddItem「値のカラム1;値列2 "

+0

これは列2に値を追加しません。 'AddItem'メソッドは値とオプションのインデックス(行インデックス)を引数として取ります。 –

+0

@DavidZemens rowSourceタイプが「値リスト」であるため、区切られた文字列は列と同じように解釈されます。 Kongのコードの上で動作します。 –

+0

@krishKMでExcelのバージョンは? 2010を使用すると、 'Debug.Print ListBox1.RowSourceType'は"メンバーが見つかりません "というエラーを発生させます。私はLocalsウィンドウで見ることができますが、Propertiesペインで見ることはできません。 –

2

それを達成するためのもう一つの方法があります: - :列のデータのソースとしてD25ここで

Private Sub UserForm_Initialize() 
Dim list As Object 
Set list = UserForm1.Controls.Add("Forms.ListBox.1", "hello", True) 
With list 
    .Top = 30 
    .Left = 30 
    .Width = 200 
    .Height = 340 
    .ColumnHeads = True 
    .ColumnCount = 2 
    .ColumnWidths = "100;100" 
    .MultiSelect = fmMultiSelectExtended 
    .RowSource = "Sheet1!C4:D25" 
End With End Sub 

が、私は、範囲C4を使用しています。両方の列に値が移入されます。

プロパティは自己説明的です。 UserFormでListBoxを描画し、 "Properties Window(F4)"を使用してオプション値を再生することによって、他のオプションを調べることができます。

+0

答えは正確ではありませんが、複数列のリストを追加するより効率的な方法です。 – FCastro

+0

これはExcelとの組み合わせでVBAを使用する場合にのみ機能します:) –

関連する問題