Saltar al contenido principal

¿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.

doc mover elementos entre el cuadro de lista 1 doc flecha derecha doc mover elementos entre el cuadro de lista 2

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.
doc mover elementos entre el cuadro de lista 3

2. Luego, seleccione estos datos y vaya a la Nombre caja para darles un nombre Lista de articulos. Ver captura de pantalla:
doc mover elementos entre el cuadro de lista 4

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:

doc mover elementos entre el cuadro de lista 5 doc flecha derecha doc mover elementos entre el cuadro de lista 6

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:

doc mover elementos entre el cuadro de lista 7 doc flecha derecha doc mover elementos entre el cuadro de lista 8

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:
doc mover elementos entre el cuadro de lista 9

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

doc mover elementos entre el cuadro de lista 10 doc mover elementos entre el cuadro de lista 11 doc mover elementos entre el cuadro de lista 12

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:
doc mover elementos entre el cuadro de lista 13

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

 doc mover elementos entre el cuadro de lista 14

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.
doc mover elementos entre el cuadro de lista 15

Mover selección

doc mover elementos entre el cuadro de lista 16 doc flecha derecha doc mover elementos entre el cuadro de lista 17

Mueve todo

doc mover elementos entre el cuadro de lista 18 doc flecha derecha doc mover elementos entre el cuadro de lista 19

Las mejores herramientas de productividad de oficina

🤖 Asistente de IA de Kutools: Revolucionar el análisis de datos basado en: Ejecución inteligente   |  Generar codigo  |  Crear fórmulas personalizadas  |  Analizar datos y generar gráficos  |  Invocar funciones de Kutools...
Características populares: Buscar, resaltar o identificar duplicados   |  Eliminar filas en blanco   |  Combine columnas o celdas sin perder datos   |   Ronda sin fórmula ...
Super búsqueda: Búsqueda virtual de criterios múltiples    Búsqueda V de valores múltiples  |   VLookup en varias hojas   |   Búsqueda difusa ....
Lista desplegable avanzada: Crear rápidamente una lista desplegable   |  Lista desplegable dependiente   |  Lista desplegable de selección múltiple ....
Administrador de columnas: Agregar un número específico de columnas  |  Mover columnas  |  Toggle Estado de visibilidad de columnas ocultas  |  Comparar rangos y columnas ...
Características destacadas: Enfoque de cuadrícula   |  Vista de diseño   |   Gran barra de fórmulas    Administrador de hojas y libros de trabajo   |  Biblioteca de Recursos (Texto automático)   |  Selector de fechas   |  Combinar hojas de trabajo   |  Cifrar/descifrar celdas    Enviar correos electrónicos por lista   |  Súper filtro   |   Filtro especial (filtro negrita/cursiva/tachado...) ...
Los 15 mejores conjuntos de herramientas12 Texto Herramientas (Añadir texto, Quitar caracteres, ...)   |   50+ Tabla Tipos (Diagrama de Gantt, ...)   |   40+ Práctico Fórmulas (Calcular la edad según el cumpleaños, ...)   |   19 Inserción Herramientas (Insertar código QR, Insertar imagen desde la ruta, ...)   |   12 Conversión Herramientas (Números a palabras, Conversión de Moneda, ...)   |   7 Fusionar y dividir Herramientas (Filas combinadas avanzadas, Células partidas, ...)   |   ... y más

Mejore sus habilidades de Excel con Kutools for Excel y experimente la eficiencia como nunca antes. Kutools for Excel ofrece más de 300 funciones avanzadas para aumentar la productividad y ahorrar tiempo.  Haga clic aquí para obtener la función que más necesita...

Descripción


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!
Comments (1)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
My excel becomes unresponsive after running this code. what could be the problem?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations