วิธีย้ายรายการระหว่างสองกล่องรายการใน Excel อย่างรวดเร็ว?
คุณเคยพยายามย้ายรายการจากกล่องรายการหนึ่งไปยังอีกกล่องรายการหนึ่งตามที่คุณต้องการตามภาพด้านล่างนี้หรือไม่? ที่นี่ฉันจะพูดถึงการดำเนินการนี้ใน Excel
ย้ายรายการระหว่างกล่องรายการ
ไม่มีฟังก์ชันในตัวที่ช่วยให้คุณทำงานให้เสร็จได้ แต่ฉันมีรหัส VBA ที่สามารถช่วยได้
1. ประการแรกคุณต้องสร้างรายการข้อมูลซึ่งจะแสดงเป็นรายการในกล่องรายการในแผ่นงานใหม่ซึ่งเรียกว่า ผู้ดูแลระบบ_รายการ.
2. จากนั้นเลือกข้อมูลเหล่านี้และไปที่ไฟล์ Name กล่องสำหรับตั้งชื่อ รายการรายการ. ดูภาพหน้าจอ:
3. จากนั้นในแผ่นงานซึ่งจะมีกล่องรายการสองกล่องให้คลิก ผู้พัฒนา > สิ่งที่ใส่เข้าไป > กล่องรายการ (Active X Control)แล้ววาดสองกล่องรายการ ดูภาพหน้าจอ:
ถ้า ผู้พัฒนา แท็บซ่อนริบบิ้นของคุณ วิธีแสดง / แสดงแท็บนักพัฒนาใน Excel 2007/2010/2013 Ribbon บทความนี้จะบอกวิธีแสดง
4 จากนั้นคลิก ผู้พัฒนา > สิ่งที่ใส่เข้าไป > ปุ่มคำสั่ง (Active X Control)และวาดสี่ปุ่มระหว่างสองกล่องรายการ ดูภาพหน้าจอ:
ตอนนี้เพื่อเปลี่ยนชื่อปุ่มคำสั่งสี่ปุ่มด้วยชื่อใหม่
5. เลือกปุ่มคำสั่งแรกคลิก อสังหาริมทรัพย์ , และใน อสังหาริมทรัพย์ บานหน้าต่างตั้งชื่อ BTN_moveเอาล่ะ ไปที่มันและพิมพ์ >> ลงในช่องด้านข้าง คำบรรยายภาพ. ดูภาพหน้าจอ:
6. ทำซ้ำขั้นตอนที่ 5 เพื่อเปลี่ยนชื่อปุ่มคำสั่งสามปุ่มสุดท้ายด้วยชื่อด้านล่างและพิมพ์ลูกศรอื่นลงในคำบรรยาย ดูภาพหน้าจอ:
BTN_Move ที่เลือกไว้ทางขวา
BTN_moveAllซ้าย
BTN_Move Selectedซ้าย
7. คลิกขวาที่ชื่อแผ่นงานซึ่งมีกล่องรายการและปุ่มคำสั่งแล้วเลือก ดูรหัส จากเมนูบริบท ดูภาพหน้าจอ:
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
9. จากนั้นไปที่แผ่นงานอื่นจากนั้นกลับไปที่แผ่นงานที่มีกล่องรายการตอนนี้คุณสามารถเห็นข้อมูลรายการที่ได้รับในกล่องรายการแรก และคลิกที่ปุ่มคำสั่งเพื่อย้ายรายการระหว่างสองกล่องรายการ
ย้ายการเลือก
ย้ายทั้งหมด
สุดยอดเครื่องมือเพิ่มผลผลิตในสำนักงาน
เพิ่มพูนทักษะ Excel ของคุณด้วย Kutools สำหรับ Excel และสัมผัสประสิทธิภาพอย่างที่ไม่เคยมีมาก่อน Kutools สำหรับ Excel เสนอคุณสมบัติขั้นสูงมากกว่า 300 รายการเพื่อเพิ่มประสิทธิภาพและประหยัดเวลา คลิกที่นี่เพื่อรับคุณสมบัติที่คุณต้องการมากที่สุด...
แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก
- เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
- เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
- เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!