Làm cách nào để nhanh chóng di chuyển các mục giữa hai hộp danh sách trong Excel?
Bạn đã bao giờ cố gắng di chuyển các mục từ một hộp danh sách này sang một hộp danh sách khác khi bạn cần như hình minh họa bên dưới chưa? Ở đây tôi sẽ nói về thao tác này trong Excel.
![]() |
![]() |
![]() |
Di chuyển các mục giữa các hộp danh sách
Di chuyển các mục giữa các hộp danh sách
Không có chức năng tích hợp nào có thể giúp bạn hoàn thành công việc, nhưng tôi có mã VBA có thể giúp bạn.
1. Trước tiên, bạn cần tạo một danh sách dữ liệu sẽ được hiển thị dưới dạng các mục trong hộp danh sách trong một trang tính mới được gọi là Admin_Lists.
2. Sau đó chọn những dữ liệu này và chuyển đến Họ tên hộp để đặt tên cho họ Danh sách vật phẩm. Xem ảnh chụp màn hình:
3. Sau đó, trong một trang tính sẽ chứa hai hộp danh sách, hãy nhấp vào Nhà phát triển > Chèn > Hộp danh sách (Điều khiển X hoạt động)và vẽ hai hộp danh sách. Xem ảnh chụp màn hình:
![]() |
![]() |
![]() |
Nếu Nhà phát triển tab bị ẩn dải băng của bạn, Làm thế nào để hiển thị / hiển thị tab nhà phát triển trong Excel 2007/2010/2013 Ribbon? bài viết này sẽ cho bạn biết làm thế nào để hiển thị nó.
4. Sau đó nhấn vào Nhà phát triển > Chèn > Nút lệnh (Điều khiển X chủ động), và vẽ bốn nút giữa hai hộp danh sách. Xem ảnh chụp màn hình:
![]() |
![]() |
![]() |
Bây giờ để đổi tên bốn nút lệnh bằng tên mới.
5. Chọn nút lệnh đầu tiên, nhấp vào Bất động sản, và trong Bất động sản ngăn, đặt tên BTN_moveAllRight vào nó và gõ >> vào hộp văn bản bên cạnh Chú thích. Xem ảnh chụp màn hình:
6. Lặp lại bước 5 để đổi tên ba nút lệnh cuối cùng với các tên bên dưới, đồng thời gõ mũi tên khác vào chú thích. Xem ảnh chụp màn hình:
BTN_MoveSelectedRight
BTN_moveAllLeft
BTN_MoveSelectedLeft
![]() |
![]() |
![]() |
7. Nhấp chuột phải vào tên trang tính chứa các hộp danh sách và các nút lệnh, và chọn Mã Chế độ xem từ menu ngữ cảnh. Xem ảnh chụp màn hình:
8. Sao chép và dán mã macro bên dưới vào Mô-đun sau đó lưu mã và đóng Microsoft Visual Basic cho các ứng dụng cửa sổ. Xem ảnh chụp màn hình
VBA: Di chuyển các mục giữa hai hộp danh sách
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. Sau đó sang sheet khác rồi quay lại sheet chứa hộp danh sách, lúc này bạn có thể thấy danh sách dữ liệu đã được liệt kê trong hộp danh sách đầu tiên. Và nhấp vào các nút lệnh để di chuyển các mục giữa hai hộp danh sách.
Di chuyển lựa chọn
![]() |
![]() |
![]() |
Di chuyển tất cả
![]() |
![]() |
![]() |
Các công cụ năng suất văn phòng tốt nhất
Kutools cho Excel giải quyết hầu hết các vấn đề của bạn và tăng 80% năng suất của bạn
- Tái sử dụng: Chèn nhanh công thức phức tạp, biểu đồ và bất cứ thứ gì bạn đã sử dụng trước đây; Mã hóa ô với mật khẩu; Tạo danh sách gửi thư và gửi email ...
- Thanh siêu công thức (dễ dàng chỉnh sửa nhiều dòng văn bản và công thức); Bố cục đọc (dễ dàng đọc và chỉnh sửa số lượng ô lớn); Dán vào Dải ô đã Lọchữu ích. Cảm ơn !
- Hợp nhất các ô / hàng / cột mà không làm mất dữ liệu; Nội dung phân chia ô; Kết hợp các hàng / cột trùng lặp... Ngăn chặn các ô trùng lặp; So sánh các dãyhữu ích. Cảm ơn !
- Chọn trùng lặp hoặc duy nhất Hàng; Chọn hàng trống (tất cả các ô đều trống); Tìm siêu và Tìm mờ trong Nhiều Sổ làm việc; Chọn ngẫu nhiên ...
- Bản sao chính xác Nhiều ô mà không thay đổi tham chiếu công thức; Tự động tạo tài liệu tham khảo sang Nhiều Trang tính; Chèn Bullets, Hộp kiểm và hơn thế nữa ...
- Trích xuất văn bản, Thêm Văn bản, Xóa theo Vị trí, Xóa không gian; Tạo và In Tổng số phân trang; Chuyển đổi giữa nội dung ô và nhận xéthữu ích. Cảm ơn !
- Siêu lọc (lưu và áp dụng các lược đồ lọc cho các trang tính khác); Sắp xếp nâng cao theo tháng / tuần / ngày, tần suất và hơn thế nữa; Bộ lọc đặc biệt bằng cách in đậm, in nghiêng ...
- Kết hợp Workbook và WorkSheets; Hợp nhất các bảng dựa trên các cột chính; Chia dữ liệu thành nhiều trang tính; Chuyển đổi hàng loạt xls, xlsx và PDFhữu ích. Cảm ơn !
- Hơn 300 tính năng mạnh mẽ. Hỗ trợ Office / Excel 2007-2021 và 365. Hỗ trợ tất cả các ngôn ngữ. Dễ dàng triển khai trong doanh nghiệp hoặc tổ chức của bạn. Đầy đủ tính năng Dùng thử miễn phí 30 ngày. Bảo đảm hoàn lại tiền trong 60 ngày.

Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều
- Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
- Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
- Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!
