2011-08-07 4 views

답변

19

List 속성을 사용합니다.

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

고마워요. 이제 그 가치를 얻고 싶다면 어떻게 할 수 있습니까? 첫 번째 열의 값을 가져 오려면 ListBox1.Value ... 두 번째 열의 봇? –

+1

@Andrei Ion 같은 방식으로. 'List'는 두 가지 방식으로 작동하는 속성입니다. – GSerg

+0

그래, 나는 그것이 같은 방법이어야한다고 생각했지만 선택한 항목의 행을 알지 못할 것 ... 나는 그 열이 1 행인지 안다? ListBox1.ListCount-1 값을 추가 할 때 행을 것 같아요 ... 값을 선택할 때 행을 어떻게 알 수 있습니까? 고마워요! –

-5

선택 인적 또는

행 소스 유형 => 값 목록

코드 :

ListbName.ColumnCount = 2

ListbName.AddItem "값, 컬럼; 값 열 2 "

+0

이것은 2 열에 어떤 값도 추가하지 않습니다.'AddItem' 메쏘드는 값과 선택적 인덱스 (행 인덱스)를 인자로 취합니다. –

+0

@DavidZemens rowSource 유형이 "값 목록"이기 때문에 구분 된 문자열은 열과 동일하게 해석됩니다. Kong의 코드 위가 작동합니다. –

+0

@krishKM에서 Excel 버전은 무엇입니까? 2010을 사용하면,'Debug.Print ListBox1.RowSourceType'는 "멤버를 찾을 수 없습니다"오류를 발생시킵니다. 지역 창에서는 볼 수 있지만 속성 창에서는 볼 수 없습니다. –

2

을 달성하기위한 또 하나 개의 방법이있다 : - 여기

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를 사용하고 있습니다 : 컬럼의 데이터 소스로 D25은. 두 열에 값이 채워집니다.

속성은 자체 설명입니다. UserForm에서 ListBox를 그리고 "Properties Window (F4)"를 사용하여 옵션 값으로 재생하여 다른 옵션을 탐색 할 수 있습니다.

+0

정확하게 대답은 아니지만 여러 열 목록을 추가하는보다 효율적인 방법입니다. – FCastro

+0

Excel과 함께 VBA를 사용할 때만 작동합니다. –

관련 문제