2011-08-07 36 views

Respuesta

19

Al usar la propiedad List.

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

Muchas gracias. Ahora si quiero obtener ese valor, ¿cómo puedo hacerlo? Me refiero a obtener el valor en la primera columna que hago ListBox1.Value ... bot para la segunda columna? –

+1

@Andrei Ion De la misma manera. 'List' es una propiedad, funciona en ambos sentidos. – GSerg

+0

Sí, supongo que tiene que ser de la misma manera pero no sabré la fila del artículo seleccionado ... Sé que la columna es 1 pero la fila? Supongo que ListBox1.ListCount-1 es la fila cuando agrega el valor ... ¿cómo sé cuál es la fila cuando se selecciona un valor? ¡Muchas gracias! –

-5

seleccione Propety

Origen de la fila de lista Tipo => Valor

Código:

ListbName.ColumnCount = 2

ListbName.AddItem "valor column1; valor column2 "

+0

Esto no agrega ningún valor a la columna 2. El método 'AddItem' toma un valor e índice opcional (índice de fila) como argumento. –

+0

@DavidZemens ya que rowSource type es "Value list" Las cadenas delimitadas se interpretan igual que las columnas. el código anterior de Kong funcionará. –

+0

@krishKM ¿En qué versión de Excel? Con 2010, 'Debug.Print ListBox1.RowSourceType' provoca un error de" miembro no encontrado ". Puedo verlo en la ventana Locales, pero no en el panel de Propiedades. –

2

Hay otra manera de lograrlo: -

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 

Aquí, estoy usando el rango C4: D25 como fuente de datos para las columnas. Conseguirá que ambas columnas se llenen con valores.

Las propiedades se explican por sí mismas. Puede explorar otras opciones dibujando ListBox en UserForm y usando "Properties Window (F4)" para jugar con los valores de las opciones.

+0

No es exactamente la respuesta, pero es un método más eficiente para agregar una lista de columnas múltiples. – FCastro

+0

Esto solo funciona cuando se usa VBA en combinación con Excel :) –

Cuestiones relacionadas