跳到主要内容

如何在Excel中的两个列表框之间快速移动项目?

作者:孙 最后修改时间:2018-12-12

您是否曾尝试根据需要将项目从一个列表框移动到另一个列表框,如下图所示? 在这里,我将讨论Excel中的此操作。

doc在列表框1之间移动项目 doc箭头向右 doc在列表框2之间移动项目

在列表框之间移动项目


在列表框之间移动项目

没有内置功能可以帮助您完成工作,但是我有一个VBA代码可以帮您一个忙。

1.首先,您需要创建一个数据列表,该数据列表将在新工作表的列表框中显示为项目, 管理员列表.
doc在列表框3之间移动项目

2.然后选择这些数据并转到 名称 给他们起个名字的盒子 物品清单。 看截图:
doc在列表框4之间移动项目

3.然后在包含两个列表框的工作表中,单击 开发商 > 插页 > 列表框(Active X控件),并绘制两个列表框。 看截图:

doc在列表框5之间移动项目 doc箭头向右 doc在列表框6之间移动项目

如果 开发商 标签页隐藏了您的功能区, 如何在Excel 2007/2010/2013功能区中显示/显示开发人员选项卡? 本文将告诉您如何显示它。

4。 然后点击 开发商 > 插页 > 命令按钮(Active X控件),并在两个列表框之间绘制四个按钮。 看截图:

doc在列表框7之间移动项目 doc箭头向右 doc在列表框8之间移动项目

现在用新名称重命名四个命令按钮。

5.选择第一个命令按钮,单击 查看房源,而在 查看房源 窗格,给一个名字 BTN_moveAllRight 并输入 >> 进入旁边的文本框 标题。 看截图:
doc在列表框9之间移动项目

6.重复步骤5,用下面的名称重命名最后三个命令按钮,然后在标题中键入不同的箭头。 看截图:

BTN_MoveSelectedRight

BTN_moveAllLeft

BTN_向左移动所选内容

doc在列表框10之间移动项目 doc在列表框11之间移动项目 doc在列表框12之间移动项目

7.右键单击包含列表框和命令按钮的工作表名称,然后选择 查看代码 从上下文菜单中。 看截图:
doc在列表框13之间移动项目

8.复制下面的宏代码并将其粘贴到 模块 脚本,然后保存代码并关闭 Microsoft Visual Basic应用程序 窗口。 看截图

VBA:在两个列表框之间移动项目

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在列表框14之间移动项目

9.然后转到另一个工作表,然后返回到包含列表框的工作表,现在您可以看到列表数据已在第一个列表框中列出。 然后单击命令按钮以在两个列表框之间移动项目。
doc在列表框15之间移动项目

移动选择

doc在列表框16之间移动项目 doc箭头向右 doc在列表框17之间移动项目

全部移动

doc在列表框18之间移动项目 doc箭头向右 doc在列表框19之间移动项目

最佳办公生产力工具

🤖 Kutools 人工智能助手:基于以下内容彻底改变数据分析: 智能执行   |  生成代码  |  创建自定义公式  |  分析数据并生成图表  |  调用 Kutools 函数...
热门特色: 查找、突出显示或识别重复项   |  删除空白行   |  合并列或单元格而不丢失数据   |   不使用公式进行四舍五入 ...
超级查询: 多条件VLookup    多值VLookup  |   跨多个工作表的 VLookup   |   模糊查询 ....
高级下拉列表: 快速创建下拉列表   |  依赖下拉列表   |  多选下拉列表 ....
列管理器: 添加特定数量的列  |  移动列  |  切换隐藏列的可见性状态  |  比较范围和列 ...
特色功能: 网格焦点   |  设计图   |   大方程式酒吧    工作簿和工作表管理器   |  资源库 (自动文本)   |  日期选择器   |  合并工作表   |  加密/解密单元格    按列表发送电子邮件   |  超级筛选   |   特殊过滤器 (过滤粗体/斜体/删除线...)...
前 15 个工具集12 文本 工具 (添加文本, 删除字符,...)   |   50+ 图表 类型 (甘特图,...)   |   40+ 实用 公式 (根据生日计算年龄,...)   |   19 插入 工具 (插入二维码, 从路径插入图片,...)   |   12 转化 工具 (小写金额转大写, 货币兑换,...)   |   7 合并与拆分 工具 (高级组合行, 分裂细胞,...)   |   ... 和更多

使用 Kutools for Excel 增强您的 Excel 技能,体验前所未有的效率。 Kutools for Excel 提供了 300 多种高级功能来提高生产力并节省时间。  单击此处获取您最需要的功能...

描述


Office Tab 为 Office 带来选项卡式界面,让您的工作更加轻松

  • 在Word,Excel,PowerPoint中启用选项卡式编辑和阅读,发布者,Access,Visio和Project。
  • 在同一窗口的新选项卡中而不是在新窗口中打开并创建多个文档。
  • 每天将您的工作效率提高50%,并减少数百次鼠标单击!
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
Leave your comments
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations