Intercambiar columnas de un cuadro de lista de varias columnas

En el ejemplo siguiente se intercambian las columnas de un control ListBox de múltiples columnas. Para ello se utiliza la propiedad List de dos formas:

  1. Para tener acceso a los valores individuales del control ListBox y realizar su intercambio. En esta aplicación, List tiene dos subíndices para designar la fila y la columna del valor especificado.

  2. Para cargar inicialmente el control ListBox con los valores de una matriz. En esta aplicación, List no tiene subíndices.

Para utilizar este ejemplo, copie el código en el Editor de secuencias de comandos de un formulario. Para ejecutar el código debe abrir el formulario con el fin de que se produzca el evento Open. Asegúrese de que el formulario contiene un control ListBox denominado ListBox1 y un control CommandButton denominado CommandButton1.

Dim Listbox1 
Dim MyArray(6, 3) 
 
Sub Item_Open 
 Dim i 
 Set Listbox1 = Item.GetInspector.ModifiedFormPages("P.2").Listbox1 
 
 Listbox1.ColumnCount = 3 
 For i = 0 to 5 
 MyArray(i, 0) = i 
 MyArray(i, 1) = Rnd 
 MyArray(i, 2) = Rnd 
 Next 
 
 Listbox1.List() = MyArray 
End Sub 
 
Sub CommandButton1_Click 
 Dim i 
 Dim Temp 
 
 For i = 0 to 5 
 Temp = Listbox1.List(i, 0) 
 Listbox1.List(i, 0) = Listbox1.List(i, 2) 
 Listbox1.List(i, 2) = Temp 
 Next 
End Sub

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.