¿Cómo mover rápidamente elementos entre dos cuadros de lista en Excel?
¿Alguna vez ha intentado mover los elementos de un cuadro de lista a otro cuadro de lista como necesita, como se muestra a continuación? Aquí hablaré de esta operación en Excel.
![]() |
![]() |
![]() |
Mover elementos entre cuadros de lista
Mover elementos entre cuadros de lista
No hay una función incorporada que pueda ayudarlo a terminar el trabajo, pero tengo un código VBA que puede hacer un favor.
1. En primer lugar, debe crear una lista de datos que se mostrarán como elementos en cuadros de lista en una nueva hoja que se llama Admin_Listas.
2. Luego, seleccione estos datos y vaya a la Nombre caja para darles un nombre Lista de articulos. Ver captura de pantalla:
3. Luego, en una hoja que contendrá los dos cuadros de lista, haga clic en Developer > recuadro > Cuadro de lista (control Active X)y dibuje dos cuadros de lista. Ver captura de pantalla:
![]() |
![]() |
![]() |
Si Developer la pestaña está oculta tu cinta, ¿Cómo mostrar / mostrar la pestaña de desarrollador en Excel 2007/2010/2013 Ribbon? este artículo le dirá cómo mostrarlo.
4. Luego haga clic Developer > recuadro > Botón de comando (control Active X)y dibuje cuatro botones entre dos cuadros de lista. Ver captura de pantalla:
![]() |
![]() |
![]() |
Ahora para cambiar el nombre de los cuatro botones de comando con nuevos nombres.
5. Seleccione el primer botón de comando, haga clic en Propiedades, Y en el Propiedades panel, da un nombre BTN_moveAllRight a él, y escriba >> en el cuadro de texto al lado Subtítulo. Ver captura de pantalla:
6. Repita el paso 5 para cambiar el nombre de los últimos tres botones de comando con los nombres de abajo, y también escriba la flecha diferente en los títulos. Ver captura de pantalla:
BTN_MoveSelectedRight
BTN_moveAllLeft
BTN_MoveSelectedLeft
![]() |
![]() |
![]() |
7. Haga clic con el botón derecho en el nombre de la hoja que contiene los cuadros de lista y los botones de comando, y seleccione Ver código desde el menú contextual. Ver captura de pantalla:
8. Copie y pegue el siguiente código de macro en el Módulo luego guarde el código y cierre el Microsoft Visual Basic para aplicaciones ventana. Ver captura de pantalla
VBA: mueva elementos entre dos cuadros de lista
Private Sub Worksheet_Activate()
'UpdatebyExtendoffice20171117
Dim xCell As Range
Dim xRg As Range
Set xRg = Sheets("Admin_Lists").Range("ItemList")
Me.ListBox1.Clear
Me.ListBox2.Clear
With Me.ListBox1
.LinkedCell = ""
.ListFillRange = ""
For Each xCell In xRg
If xCell <> "" Then
.AddItem xCell.Value
End If
Next xCell
End With
Me.ListBox1.MultiSelect = fmMultiSelectMulti
Me.ListBox2.MultiSelect = fmMultiSelectMulti
End Sub
Private Sub BTN_MoveSelectedLeft_Click()
Call moveSigle(Me.ListBox2, Me.ListBox1)
End Sub
Private Sub BTN_MoveSelectedRight_Click()
Call moveSigle(Me.ListBox1, Me.ListBox2)
End Sub
Private Sub BTN_moveAllLeft_Click()
Call moveAll(Me.ListBox2, Me.ListBox1)
End Sub
Private Sub BTN_moveAllRight_Click()
Call moveAll(Me.ListBox1, Me.ListBox2)
End Sub
Sub moveAll(xListBox1 As Object, xListBox2 As Object)
Dim I As Long
For I = 0 To xListBox1.ListCount - 1
xListBox2.AddItem xListBox1.List(I)
Next I
xListBox1.Clear
End Sub
Sub moveSigle(xListBox1 As Object, xListBox2 As Object)
Dim I As Long
For I = 0 To xListBox1.ListCount - 1
If I = xListBox1.ListCount Then Exit Sub
If xListBox1.Selected(I) = True Then
xListBox2.AddItem xListBox1.List(I)
xListBox1.RemoveItem I
I = I - 1
End If
Next
End Sub
9. Luego vaya a otra hoja y luego regrese a la hoja que contiene los cuadros de lista, ahora puede ver que los datos de la lista se han incluido en el primer cuadro de lista. Y haga clic en los botones de comando para mover los elementos entre dos cuadros de lista.
Mover selección
![]() |
![]() |
![]() |
Mueve todo
![]() |
![]() |
![]() |
Las mejores herramientas de productividad de oficina
Kutools para Excel resuelve la mayoría de sus problemas y aumenta su productividad en un 80%
- Reutilizar: Inserte rápidamente fórmulas complejas, gráficos y cualquier cosa que hayas usado antes; Cifrar celdas con contraseña; Crear lista de distribución y enviar correos electrónicos ...
- Barra de súper fórmula (edite fácilmente varias líneas de texto y fórmulas); Diseño de lectura (leer y editar fácilmente un gran número de celdas); Pegar en rango filtrado...
- Combinar celdas / filas / columnas sin perder datos; Contenido de celdas divididas; Combinar filas / columnas duplicadas... Prevenir celdas duplicadas; Comparar rangos...
- Seleccione Duplicado o Único Filas; Seleccionar filas en blanco (todas las celdas están vacías); Super Find y Fuzzy Find en muchos libros de trabajo; Selección aleatoria ...
- Copia exacta Varias celdas sin cambiar la referencia de la fórmula; Crear referencias automáticamente a varias hojas; Insertar viñetas, Casillas de verificación y más ...
- Extraer texto, Agregar texto, Eliminar por posición, Quitar espacio; Crear e imprimir subtotales de paginación; Convertir entre contenido de celdas y comentarios...
- Súper filtro (guardar y aplicar esquemas de filtros a otras hojas); Orden avanzado por mes / semana / día, frecuencia y más; Filtro especial en negrita, cursiva ...
- Combinar libros y hojas de trabajo; Combinar tablas basadas en columnas clave; Dividir datos en varias hojas; Conversión por lotes de xls, xlsx y PDF...
- Más de 300 potentes funciones. Compatible con Office/Excel 2007-2021 y 365. Compatible con todos los idiomas. Fácil implementación en su empresa u organización. Funciones completas Prueba gratuita de 30 días. Garantía de devolución de dinero de 60 días.

Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Habilite la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
- ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!
