ไปยังเนื้อหาหลัก

วิธีสร้างกล่องรายการเรียงซ้อนแบบไดนามิกใน Excel

ผู้เขียน : ซิลูเวีย แก้ไขล่าสุด: 2024-08-15

คุณอาจทราบวิธีสร้างรายการแบบเลื่อนลงการตรวจสอบความถูกต้องแบบเรียงซ้อนใน Excel อย่างไรก็ตามวิธีสร้างกล่องรายการเรียงซ้อนแบบไดนามิกใน Excel บทความนี้แนะนำวิธีการ VBA เพื่อลดปัญหา

สร้างกล่องรายการเรียงซ้อนแบบไดนามิกด้วยรหัส VBA


สร้างกล่องรายการเรียงซ้อนแบบไดนามิกด้วยรหัส VBA

ตามที่แสดงภาพหน้าจอด้านล่างคุณต้องสร้างกล่องรายการหลักที่มีค่าเฉพาะของคอลัมน์เครื่องดื่มและแสดงค่าที่เกี่ยวข้องทั้งหมดในกล่องรายการที่สองตามการเลือกในกล่องรายการหลัก รหัส VBA ต่อไปนี้ช่วยให้คุณบรรลุได้ กรุณาดำเนินการดังนี้

กล่องรายการเรียงซ้อนแบบไดนามิก

1. ประการแรกคุณต้องดึงค่าที่ไม่ซ้ำกันทั้งหมดออกจากคอลัมน์เครื่องดื่ม เลือกเซลล์ว่างป้อนสูตรอาร์เรย์ =IFERROR(INDEX($A$2:$A$11, MATCH(0,COUNTIF($J$1:J1, $A$2:$A$11), 0)),"") เข้าไปใน สูตรบาร์แล้วกดปุ่ม Ctrl + เปลี่ยน + เข้าสู่ สำคัญ. จากนั้นลากไฟล์ เติมที่จับ เพื่อรับค่าที่ไม่ซ้ำกันทั้งหมด ดูภาพหน้าจอ:

แสดงรายการค่าที่ไม่ซ้ำทั้งหมดด้วยสูตร

หมายเหตุ: ในสูตร $A$2:$A$11 คือช่วงที่คุณจะดึงค่าที่ไม่ซ้ำกันออกมา J1 คือเซลล์ด้านบนที่มีสูตรของคุณอยู่

ปลาย: หากสูตรนั้นยากที่จะจดจำและจัดการกับ เลือกเซลล์ซ้ำและไม่ซ้ำกัน ประโยชน์ของ Kutools สำหรับ Excel จะเป็นทางเลือกที่ดีสำหรับคุณในการดึงค่าที่ไม่ซ้ำกันทั้งหมดออกจากคอลัมน์อย่างรวดเร็ว

โปรดเลือกคอลัมน์ที่มีค่าเฉพาะที่คุณจะดึงออกมา จากนั้นเปิดใช้งานยูทิลิตี้โดยคลิก Kutools > เลือก > เลือกเซลล์ซ้ำและไม่ซ้ำกัน. ใน เลือกเซลล์ซ้ำและไม่ซ้ำกัน กล่องโต้ตอบเลือกไฟล์ ไม่ซ้ำกันทั้งหมด (รวมถึงรายการที่ซ้ำกันครั้งแรก) และคลิกที่ OK ปุ่ม. จากนั้นค่าที่ไม่ซ้ำกันทั้งหมดจะถูกเลือกในคอลัมน์ โปรดคัดลอกและวางลงในที่ใหม่ ดูภาพหน้าจอ:

เลือกค่าที่ไม่ซ้ำด้วย kutools

Kutools สำหรับ Excel: ด้วย Add-in ของ Excel ที่มีประโยชน์มากกว่า 200 รายการให้ทดลองใช้ฟรีโดยไม่มีข้อ จำกัด ใน 60 วัน ดาวน์โหลดและทดลองใช้ฟรีทันที!

2. แทรกสองกล่องรายการแยกกันโดยคลิก ผู้พัฒนา > สิ่งที่ใส่เข้าไป > กล่องรายการ (ActiveX Control). ดูภาพหน้าจอ:

คลิกกล่องรายการจากแท็บนักพัฒนา

3. คลิกขวาที่กล่องรายการหลักแล้วเลือก อสังหาริมทรัพย์ จากเมนูบริบท ใน อสังหาริมทรัพย์ กล่องโต้ตอบเปลี่ยนไฟล์ (ชื่อ) ฟิลด์ไปที่ ดื่ม หรือชื่ออื่น ๆ ตามที่คุณต้องการป้อนช่วงเซลล์ที่มีค่าเฉพาะที่แยกแล้วลงในไฟล์ รายการFillRange และปิดกล่องโต้ตอบ

ระบุตัวเลือกในบานหน้าต่างคุณสมบัติ

4. ทำซ้ำขั้นตอนที่ 3 เพื่อเปลี่ยนกล่องรายการที่สอง (ชื่อ) ไปยังรายการใน อสังหาริมทรัพย์ กล่องโต้ตอบ

5. คลิกขวาที่แท็บแผ่นงานแล้วเลือก ดูรหัส จากเมนูคลิกขวา จากนั้นคัดลอกโค้ด VBA ด้านล่างลงในหน้าต่างรหัส ดูภาพหน้าจอ:

รหัส VBA: สร้างกล่องรายการเรียงซ้อนแบบไดนามิกใน Excel

Dim xPreStr As String
Private Sub Drink_Click()
'Update by Extendoffice 2018/06/04
    Dim I, xRows As Long
    Dim xRg As Range
    Dim xRegStr As String
    Application.ScreenUpdating = False
    xRegStr = Me.Drink.Text
    Set xRg = Range("A2:A11")
    xRows = xRg.Rows.Count
    If xRegStr <> xPreStr Then
    Me.Item.Clear
   'Me.OtherListBoxName.Clear
    Set xRg = xRg(1)
    For I = 1 To xRows
        If xRg.Offset(I - 1).Value = xRegStr Then
            Me.Item.AddItem xRg.Offset(I - 1, 1).Value
            'Me.OtherListBoxName.AddItem xRg.Offset(I - 1, 2).Value
        End If
    Next
    xPreStr = xRegStr
    End If
    Application.ScreenUpdating = True
End Sub

หมายเหตุ : : ในรหัสเครื่องดื่มและรายการคือชื่อของกล่องรายการสองกล่องให้เปลี่ยนเป็นชื่อของคุณเอง

คลิก View Code เพื่อวางโค้ดลงในโมดูล

6 กด อื่น ๆ + Q ปุ่มเพื่อปิดไฟล์ Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

7. ปิดโหมดออกแบบโดยคลิก ผู้พัฒนา > โหมดการออกแบบ.

จากนี้ไปเมื่อเลือกเครื่องดื่มชนิดใดก็ได้เช่นกาแฟในช่องรายการหลักรายการกาแฟทั้งหมดจะแสดงในรายการที่สอง เลือกชาหรือไวน์จะแสดงเฉพาะรายการชาหรือไวน์ในช่องรายการที่สอง ดูภาพหน้าจอ:

กล่องรายการเรียงซ้อนแบบไดนามิกจะถูกสร้างขึ้น



บทความที่เกี่ยวข้อง:

สุดยอดเครื่องมือเพิ่มผลผลิตในสำนักงาน

🤖 Kutools AI ผู้ช่วย: ปฏิวัติการวิเคราะห์ข้อมูลโดยยึดตาม: การดำเนินการที่ชาญฉลาด   |  สร้างรหัส  |  สร้างสูตรที่กำหนดเอง  |  วิเคราะห์ข้อมูลและสร้างแผนภูมิ  |  เรียกใช้ฟังก์ชัน Kutools...
คุณสมบัติยอดนิยม: ค้นหา เน้น หรือระบุรายการที่ซ้ำกัน   |  ลบแถวว่าง   |  รวมคอลัมน์หรือเซลล์โดยไม่สูญเสียข้อมูล   |   รอบโดยไม่มีสูตร ...
การค้นหาขั้นสูง: VLookup หลายเกณฑ์    VLookup หลายค่า  |   VLookup ข้ามหลายแผ่น   |   การค้นหาที่ไม่ชัดเจน ....
รายการแบบเลื่อนลงขั้นสูง: สร้างรายการแบบหล่นลงอย่างรวดเร็ว   |  รายการแบบหล่นลงขึ้นอยู่กับ   |  เลือกหลายรายการแบบหล่นลง ....
ผู้จัดการคอลัมน์: เพิ่มจำนวนคอลัมน์เฉพาะ  |  ย้ายคอลัมน์  |  สลับสถานะการมองเห็นของคอลัมน์ที่ซ่อนอยู่  |  เปรียบเทียบช่วงและคอลัมน์ ...
คุณสมบัติเด่น: กริดโฟกัส   |  มุมมองการออกแบบ   |   บาร์สูตรใหญ่    สมุดงานและตัวจัดการชีต   |  ห้องสมุดทรัพยากร (ข้อความอัตโนมัติ)   |  เลือกวันที่   |  รวมแผ่นงาน   |  เข้ารหัส/ถอดรหัสเซลล์    ส่งอีเมลตามรายการ   |  ซุปเปอร์ฟิลเตอร์   |   ตัวกรองพิเศษ (กรองตัวหนา/ตัวเอียง/ขีดทับ...) ...
ชุดเครื่องมือ 15 อันดับแรก12 ข้อความ เครื่องมือ (เพิ่มข้อความ, ลบอักขระ, ... )   |   50 + แผนภูมิ ประเภท (แผนภูมิ Gantt, ... )   |   40+ ใช้งานได้จริง สูตร (คำนวณอายุตามวันเกิด, ... )   |   19 การแทรก เครื่องมือ (ใส่ QR Code, แทรกรูปภาพจากเส้นทาง, ... )   |   12 การแปลง เครื่องมือ (ตัวเลขเป็นคำ, การแปลงสกุลเงิน, ... )   |   7 ผสานและแยก เครื่องมือ (แถวรวมขั้นสูง, แยกเซลล์, ... )   |   ... และอื่น ๆ

เพิ่มพูนทักษะ Excel ของคุณด้วย Kutools สำหรับ Excel และสัมผัสประสิทธิภาพอย่างที่ไม่เคยมีมาก่อน Kutools สำหรับ Excel เสนอคุณสมบัติขั้นสูงมากกว่า 300 รายการเพื่อเพิ่มประสิทธิภาพและประหยัดเวลา  คลิกที่นี่เพื่อรับคุณสมบัติที่คุณต้องการมากที่สุด...


แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!