跳到主要內容
 

如何在Excel中的兩個列錶框之間快速移動項目?

作者:孫 最後修改時間:2024-08-15

您是否曾嘗試根據需要將項目從一個列錶框移動到另一個列錶框,如下圖所示? 在這裡,我將討論Excel中的此操作。

顯示移動項目之前的列錶框的螢幕截圖 箭頭的螢幕截圖 顯示移動項目後列錶框的螢幕截圖

在列錶框之間移動項目


在列錶框之間移動項目

沒有內置功能可以幫助您完成工作,但是我有一個VBA代碼可以幫您一個忙。

1.首先,您需要創建一個數據列表,該數據列表將在新工作表的列錶框中顯示為項目, 管理員列表.

來源資料的螢幕截圖

2.然後選擇這些數據並轉到 名稱 給他們起個名字的盒子 物品清單。 看截圖:

在「名稱」方塊中命名來源資料的螢幕截圖

3.然後在包含兩個列錶框的工作表中,單擊 開發者 > 插入 > 列錶框(Active X控件),並繪製兩個列錶框。 看截圖:

在「開發人員」標籤下選擇「列錶框」控制項的螢幕截圖 右箭頭的螢幕截圖 顯示兩個已建立的列錶框的螢幕截圖

如果 開發者 標籤頁隱藏了您的功能區, 如何在Excel 2007/2010/2013功能區中顯示/顯示開發人員選項卡? 本文將告訴您如何顯示它。

4。 然後點擊 開發者 > 插入 > 命令按鈕(Active X控件),並在兩個列錶框之間繪製四個按鈕。 看截圖:

選擇命令按鈕控制項的螢幕截圖 右箭頭的螢幕截圖 1 顯示已建立的命令按鈕的螢幕截圖

現在用新名稱重命名四個命令按鈕。

5.選擇第一個命令按鈕,單擊 氟化鈉性能,並在中 氟化鈉性能 窗格,給一個名字 BTN_moveAllRight 並輸入 >> 進入旁邊的文本框 標題。 看截圖:

顯示如何更改命令按鈕屬性的螢幕截圖

6.重複步驟5,使用以下名稱重命名最後三個命令按鈕,然後在標題中鍵入其他箭頭。 看截圖:

BTN_MoveSelectedRight

BTN_moveAllLeft

BTN_向左移動所選內容

更改屬性後第二個命令按鈕的螢幕截圖 更改屬性後第三個命令按鈕的螢幕截圖 更改屬性後第四個命令按鈕的螢幕截圖

7.右鍵單擊包含列錶框和命令按鈕的工作表名稱,然後選擇 查看代碼 從上下文菜單中。 看截圖:

開啟 VBA 程式碼編輯器的螢幕截圖

8.複製下面的宏代碼並將其粘貼到 模塊 腳本,然後保存代碼並關閉 Microsoft Visual Basic for Applications 窗口。 看截圖

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

顯示如何使用 VBA 程式碼的螢幕截圖

9.然後轉到另一個工作表,然後返回到包含列錶框的工作表,現在您可以看到列表數據已在第一個列錶框中列出。 然後單擊命令按鈕以在兩個列錶框之間移動項目。

顯示執行 VBA 程式碼後一個列錶框中的來源資料的螢幕截圖

移動選擇

將項目從一個列錶框逐一移動到另一個列錶框的螢幕截圖 箭頭的螢幕截圖 顯示兩個項目已移至右側列錶框的螢幕截圖

全部移動

標記哪個命令按鈕可用於同時將所有項目從一個清單移動到另一個清單的螢幕截圖 箭頭2的截圖 顯示所有項目同時從一個列錶框移動到另一個列錶框的螢幕截圖

最佳辦公生產力工具

🤖 Kutools 人工智慧助手:基於以下內容徹底改變數據分析: 智慧執行   |  生成代碼  |  建立自訂公式  |  分析數據並產生圖表  |  呼叫 Kutools 函數...
熱門特色: 尋找、突出顯示或識別重複項   |  刪除空白行   |  合併列或儲存格而不遺失數據   |   沒有公式的回合 ...
超級查詢: 多條件VLookup    多值VLookup  |   跨多個工作表的 VLookup   |   模糊查詢 ....
高級下拉列表: 快速建立下拉列表   |  依賴下拉列表   |  多選下拉列表 ....
欄目經理: 新增特定數量的列  |  移動列  |  切換隱藏列的可見性狀態  |  比較範圍和列 ...
特色功能: 網格焦點   |  設計圖   |   大方程式酒吧    工作簿和工作表管理器   |  資源庫 (自動文字)   |  日期選擇器   |  合併工作表   |  加密/解密單元格    按清單發送電子郵件   |  超級濾鏡   |   特殊過濾器 (過濾粗體/斜體/刪除線...)...
前 15 個工具集12 文本 工具 (添加文本, 刪除字符,...)   |   50+ 圖表 類型 (甘特圖,...)   |   40+ 實用 公式 (根據生日計算年齡,...)   |   19 插入 工具 (插入二維碼, 從路徑插入圖片,...)   |   12 轉化 工具 (數字到單詞, 貨幣兌換,...)   |   7 合併與拆分 工具 (高級合併行, 分裂細胞,...)   |   ... 和更多

使用 Kutools for Excel 增強您的 Excel 技能,體驗前所未有的效率。 Kutools for Excel 提供了 300 多種進階功能來提高生產力並節省時間。  點擊此處獲取您最需要的功能...


Office選項卡為Office帶來了選項卡式界面,使您的工作更加輕鬆

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!