Note: The other languages of the website are Google-translated. Back to English

วิธีสร้างรายการแบบหล่นลงพร้อมช่องทำเครื่องหมายหลายช่องใน Excel

ผู้ใช้ Excel จำนวนมากมักจะสร้างรายการแบบหล่นลงโดยมีช่องทำเครื่องหมายหลายช่องเพื่อเลือกหลายรายการจากรายการต่อครั้ง จริงๆแล้วคุณไม่สามารถสร้างรายการที่มีช่องทำเครื่องหมายหลายช่องด้วยการตรวจสอบข้อมูล ในบทช่วยสอนนี้เราจะแสดงวิธีการสองวิธีในการสร้างรายการแบบหล่นลงพร้อมช่องทำเครื่องหมายหลายช่องใน Excel

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


ใช้กล่องรายการเพื่อสร้างรายการแบบหล่นลงโดยมีช่องทำเครื่องหมายหลายช่อง

ดังภาพด้านล่างที่แสดงในแผ่นงานปัจจุบันชื่อทั้งหมดในช่วง A2: A11 จะเป็นแหล่งข้อมูลของกล่องรายการ คลิกที่ปุ่มในเซลล์ C4 สามารถแสดงรายการที่เลือกและรายการที่เลือกทั้งหมดในกล่องรายการจะแสดงในเซลล์ E4 เพื่อให้บรรลุสิ่งนี้โปรดทำดังนี้

A. สร้างกล่องรายการที่มีแหล่งข้อมูล

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

2. วาดกล่องรายการในแผ่นงานปัจจุบันคลิกขวาแล้วเลือก อสังหาริมทรัพย์ จากเมนูคลิกขวา

3 ใน อสังหาริมทรัพย์ คุณต้องกำหนดค่าดังต่อไปนี้

  • 3.1 ใน ListFillRange ป้อนช่วงต้นทางที่คุณจะแสดงในรายการ (ที่นี่ฉันป้อนช่วง A2: A11);
  • 3.2 ใน สไตล์รายการ เลือก 1 - ตัวเลือกสไตล์รายการ fmList;
  • 3.3 ใน เลือกหลายรายการ เลือก 1 - fmMultiSelectMulti;
  • 3.4 ปิดไฟล์ อสังหาริมทรัพย์ กล่องโต้ตอบ ดูภาพหน้าจอ:

B: ตั้งชื่อเซลล์ที่คุณจะค้นหารายการที่เลือก

หากคุณต้องการส่งออกรายการที่เลือกทั้งหมดลงในเซลล์ที่ระบุเช่น E4 โปรดทำดังนี้

1. เลือกเซลล์ E4 ป้อน ListBoxOutput เข้าไปใน ชื่อ: กล่อง และกดปุ่ม เข้าสู่ กุญแจ

C. แทรกรูปร่างเพื่อช่วยส่งออกรายการที่เลือก

1 คลิก สิ่งที่ใส่เข้าไป > รูปร่าง > สี่เหลี่ยมผืนผ้า. ดูภาพหน้าจอ:

2. วาดรูปสี่เหลี่ยมผืนผ้าในแผ่นงานของคุณ (ที่นี่ฉันวาดรูปสี่เหลี่ยมผืนผ้าในเซลล์ C4) จากนั้นคลิกขวาที่สี่เหลี่ยมผืนผ้าแล้วเลือก กำหนดมาโคร จากเมนูคลิกขวา

3 ใน กำหนดมาโคร ใหคลิกปุ the ม ใหม่ ปุ่ม

4. ในการเปิด Microsoft Visual Basic สำหรับแอปพลิเคชัน โปรดแทนที่รหัสเดิมในไฟล์ โมดูล หน้าต่างที่มีรหัส VBA ด้านล่าง

รหัส VBA: สร้างรายการที่มีช่องทำเครื่องหมายหลายช่อง

Sub Rectangle1_Click()
'Updated by Extendoffice 20200730
Dim xSelShp As Shape, xSelLst As Variant, I, J As Integer
Dim xV As String
Set xSelShp = ActiveSheet.Shapes(Application.Caller)
Set xLstBox = ActiveSheet.ListBox1
If xLstBox.Visible = False Then
    xLstBox.Visible = True
    xSelShp.TextFrame2.TextRange.Characters.Text = "Pickup Options"
    xStr = ""
    xStr = Range("ListBoxOutput").Value
    
    If xStr <> "" Then
         xArr = Split(xStr, ";")
    For I = xLstBox.ListCount - 1 To 0 Step -1
        xV = xLstBox.List(I)
        For J = 0 To UBound(xArr)
            If xArr(J) = xV Then
              xLstBox.Selected(I) = True
              Exit For
            End If
        Next
    Next I
    End If
Else
    xLstBox.Visible = False
    xSelShp.TextFrame2.TextRange.Characters.Text = "Select Options"
    For I = xLstBox.ListCount - 1 To 0 Step -1
        If xLstBox.Selected(I) = True Then
        xSelLst = xLstBox.List(I) & ";" & xSelLst
        End If
    Next I
    If xSelLst <> "" Then
        Range("ListBoxOutput") = Mid(xSelLst, 1, Len(xSelLst) - 1)
    Else
        Range("ListBoxOutput") = ""
    End If
End If
End Sub

หมายเหตุ ในรหัส สี่เหลี่ยมผืนผ้า 1 คือชื่อรูปร่าง กล่องรายการ 1 คือชื่อของกล่องรายการ เลือกตัวเลือก และ ตัวเลือกการรับสินค้า เป็นข้อความที่แสดงของรูปร่าง และ ListBoxOutput คือชื่อช่วงของเซลล์ผลลัพธ์ คุณสามารถเปลี่ยนแปลงได้ตามความต้องการของคุณ

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

6. คลิกที่ปุ่มสี่เหลี่ยมผืนผ้าจะพับหรือขยายกล่องรายการ เมื่อกล่องรายการกำลังขยายให้ตรวจสอบรายการในกล่องรายการจากนั้นคลิกสี่เหลี่ยมอีกครั้งเพื่อส่งออกรายการที่เลือกทั้งหมดไปยังเซลล์ E4 ดูการสาธิตด้านล่าง:

7. จากนั้นบันทึกสมุดงานเป็นไฟล์ Excel Macro เปิดใช้งานสมุดงาน สำหรับการนำโค้ดกลับมาใช้ใหม่ในอนาคต


สร้างรายการแบบหล่นลงพร้อมช่องทำเครื่องหมายด้วยเครื่องมือที่น่าทึ่ง

วิธีการข้างต้นเป็นหลายขั้นตอนเกินไปที่จะจัดการได้อย่างง่ายดาย ที่นี่ขอแนะนำ รายการแบบหล่นลงพร้อมกล่องกาเครื่องหมาย ประโยชน์ของ Kutools สำหรับ Excel เพื่อช่วยให้คุณสร้างรายการแบบหล่นลงได้อย่างง่ายดายด้วยช่องทำเครื่องหมายในช่วงที่ระบุแผ่นงานปัจจุบันสมุดงานปัจจุบันหรือสมุดงานที่เปิดทั้งหมดตามความต้องการของคุณ ดูการสาธิตด้านล่าง:
ดาวน์โหลดและทดลองใช้ทันที! (30เส้นทางฟรีวัน)

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

1. เปิดแผ่นงานที่คุณตั้งค่ารายการแบบเลื่อนลงการตรวจสอบข้อมูลคลิก Kutools > รายการแบบหล่นลง > รายการแบบหล่นลงพร้อมกล่องกาเครื่องหมาย > การตั้งค่า ดูภาพหน้าจอ:

2 ใน รายการแบบหล่นลงพร้อมการตั้งค่ากล่องกาเครื่องหมาย โปรดกำหนดค่าดังต่อไปนี้

  • 2.1) ใน ใช้กับ ระบุขอบเขตการใช้งานที่คุณจะสร้างช่องทำเครื่องหมายสำหรับรายการในรายการแบบเลื่อนลง คุณสามารถระบุไฟล์ บางช่วง, แผ่นงานปัจจุบัน, สมุดงานปัจจุบัน or สมุดงานที่เปิดไว้ทั้งหมด ขึ้นอยู่กับความต้องการของคุณ
  • 2.2) ใน โหมด เลือกสไตล์ที่คุณต้องการส่งออกรายการที่เลือก
  • ที่นี่ใช้เวลา แก้ไข เป็นตัวอย่างหากคุณเลือกสิ่งนี้ค่าของเซลล์จะเปลี่ยนไปตามรายการที่เลือก
  • 2.3) ใน เครื่องสกัด กล่องป้อนตัวคั่นที่คุณจะใช้เพื่อแยกหลายรายการ
  • 2.4) ใน ทิศทางข้อความ เลือกทิศทางข้อความตามความต้องการของคุณ
  • 2.5) คลิกปุ่ม OK ปุ่ม

3. ขั้นตอนสุดท้ายคลิก Kutools > รายการแบบหล่นลง > รายการแบบหล่นลงพร้อมกล่องกาเครื่องหมาย > เปิดใช้งานรายการดรอปดาวน์ของกล่องกาเครื่องหมาย เพื่อเปิดใช้งานคุณสมบัตินี้

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

สำหรับรายละเอียดเพิ่มเติมของคุณสมบัตินี้ กรุณาเยี่ยมชมที่นี่.

  หากคุณต้องการทดลองใช้ฟรี (30วัน) ของโปรแกรมอรรถประโยชน์นี้ กรุณาคลิกเพื่อดาวน์โหลดแล้วไปใช้การดำเนินการตามขั้นตอนข้างต้น


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

เติมข้อความอัตโนมัติเมื่อพิมพ์ในรายการแบบเลื่อนลงของ Excel
หากคุณมีรายการแบบเลื่อนลงการตรวจสอบข้อมูลที่มีค่ามากคุณจะต้องเลื่อนลงในรายการเพื่อค้นหาคำที่เหมาะสมหรือพิมพ์ทั้งคำลงในกล่องรายการโดยตรง หากมีวิธีการอนุญาตให้กรอกอัตโนมัติเมื่อพิมพ์ตัวอักษรตัวแรกในรายการแบบเลื่อนลงทุกอย่างจะง่ายขึ้น บทแนะนำนี้มีวิธีการแก้ปัญหา

สร้างรายการแบบหล่นลงจากสมุดงานอื่นใน Excel
มันค่อนข้างง่ายในการสร้างรายการแบบเลื่อนลงสำหรับการตรวจสอบข้อมูลระหว่างแผ่นงานภายในสมุดงาน แต่ถ้าข้อมูลรายการที่คุณต้องการสำหรับการตรวจสอบข้อมูลอยู่ในสมุดงานอื่นคุณจะทำอย่างไร? ในบทช่วยสอนนี้คุณจะได้เรียนรู้วิธีสร้างรายการลดลงจากสมุดงานอื่นใน Excel โดยละเอียด

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

เติมข้อมูลเซลล์อื่นโดยอัตโนมัติเมื่อเลือกค่าในรายการแบบเลื่อนลงของ Excel
สมมติว่าคุณได้สร้างรายการแบบหล่นลงตามค่าในช่วงเซลล์ B8: B14 เมื่อคุณเลือกค่าใด ๆ ในรายการแบบหล่นลงคุณต้องการให้ค่าที่เกี่ยวข้องในช่วงเซลล์ C8: C14 ถูกเติมโดยอัตโนมัติในเซลล์ที่เลือก สำหรับการแก้ปัญหาวิธีการในบทช่วยสอนนี้จะช่วยคุณได้

บทแนะนำเพิ่มเติมสำหรับรายการแบบเลื่อนลง ...


เครื่องมือเพิ่มประสิทธิภาพการทำงานในสำนักงานที่ดีที่สุด

Kutools สำหรับ Excel แก้ปัญหาส่วนใหญ่ของคุณและเพิ่มผลผลิตของคุณได้ถึง 80%

  • นำมาใช้ใหม่: ใส่อย่างรวดเร็ว สูตรที่ซับซ้อนแผนภูมิ และสิ่งที่คุณเคยใช้มาก่อน เข้ารหัสเซลล์ ด้วยรหัสผ่าน; สร้างรายชื่อผู้รับจดหมาย และส่งอีเมล ...
  • ซุปเปอร์ฟอร์มูล่าบาร์ (แก้ไขข้อความและสูตรหลายบรรทัดได้อย่างง่ายดาย); การอ่านเค้าโครง (อ่านและแก้ไขเซลล์จำนวนมากได้อย่างง่ายดาย); วางลงในช่วงที่กรองแล้ว...
  • ผสานเซลล์ / แถว / คอลัมน์ โดยไม่สูญเสียข้อมูล แยกเนื้อหาของเซลล์ รวมแถว / คอลัมน์ที่ซ้ำกัน... ป้องกันเซลล์ซ้ำ; เปรียบเทียบช่วง...
  • เลือกซ้ำหรือไม่ซ้ำ แถว; เลือกแถวว่าง (เซลล์ทั้งหมดว่างเปล่า); Super Find และ Fuzzy Find ในสมุดงานจำนวนมาก สุ่มเลือก ...
  • สำเนาถูกต้อง หลายเซลล์โดยไม่เปลี่ยนการอ้างอิงสูตร สร้างการอ้างอิงอัตโนมัติ ถึงหลายแผ่น ใส่สัญลักษณ์แสดงหัวข้อย่อย, กล่องกาเครื่องหมายและอื่น ๆ ...
  • แยกข้อความ, เพิ่มข้อความ, ลบตามตำแหน่ง, ลบ Space; สร้างและพิมพ์ผลรวมย่อยของเพจ แปลงระหว่างเนื้อหาของเซลล์และความคิดเห็น...
  • ซุปเปอร์ฟิลเตอร์ (บันทึกและใช้โครงร่างตัวกรองกับแผ่นงานอื่น ๆ ); การเรียงลำดับขั้นสูง ตามเดือน / สัปดาห์ / วันความถี่และอื่น ๆ ตัวกรองพิเศษ โดยตัวหนาตัวเอียง ...
  • รวมสมุดงานและแผ่นงาน; ผสานตารางตามคอลัมน์สำคัญ แยกข้อมูลออกเป็นหลายแผ่น; Batch แปลง xls, xlsx และ PDF...
  • คุณสมบัติที่ทรงพลังมากกว่า 300 รายการ. รองรับ Office/Excel 2007-2021 และ 365 รองรับทุกภาษา ง่ายต่อการปรับใช้ในองค์กรหรือองค์กรของคุณ คุณสมบัติเต็มรูปแบบ ทดลองใช้ฟรี 30 วัน รับประกันคืนเงินภายใน 60 วัน
kte แท็บ 201905

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

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!
ด้านล่าง officetab
จัดเรียงความคิดเห็นโดย
ความคิดเห็น (70)
ยังไม่มีการให้คะแนน เป็นคนแรกที่ให้คะแนน!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
นี่เป็นเรื่องที่ยอดเยี่ยม แต่จะดีกว่านี้หากสามารถวางการเลือกหลายรายการไว้ที่ตำแหน่งที่เคอร์เซอร์ทำงานอยู่ ไม่จำเป็นว่ารหัสจะระบุอะไร
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
นี่คือสิ่งที่ฉันกำลังค้นหาอยู่พอดีเลย สามารถแก้ไขโค้ดเพื่อให้ข้อมูลที่เลือกแสดงในเซลล์ที่แยกจากกันด้านล่างของคอลัมน์ได้หรือไม่ ดังนั้น แทนที่จะเป็น: วันจันทร์ วันอังคาร วันพุธ ให้แสดงเป็น จันทร์ อังคาร พุธ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
นี่เป็นเพียงสิ่งที่ฉันกำลังมองหา มีการปรับเปลี่ยนโค้ดที่จะใส่การเลือกถัดไปจากกล่องรายการในบรรทัดถัดไปหรือไม่ เช่น หนึ่ง สอง สาม แทน : หนึ่ง สอง สาม
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
คุณช่วยอธิบายวิธีเพิ่ม ListBoxOutput ในเซลล์ E4 ได้ไหม
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี จะคัดลอกกล่องรายการนี้สำหรับหลายเซลล์ได้อย่างไร แค่คัดลอกและวางไม่ทำงาน คุณช่วยอธิบายตัวอย่างในแต่ละเซลล์ (E5,E6,E7,E8,...) ฉันจะใส่กล่องการเลือกนี้ได้อย่างไร
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
คุณช่วยอธิบายหน่อยได้ไหมว่าฉันจะคัดลอกกล่องรายการ 100 แถวนี้อย่างง่ายดายได้อย่างไร (แยกช่องรายการสำหรับแถวละ 100 แถว)
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
เมื่อเอาต์พุตเสร็จสิ้นและกดปุ่มอีกครั้ง รายการที่เลือกก่อนหน้าในกล่องรายการจะไม่สามารถเปลี่ยนแปลงได้ จะแก้ไขอย่างไร?
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขอขอบคุณ! มันยอดเยี่ยมและใช้งานได้จริง!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันเป็นมือใหม่สำหรับสิ่งนี้ แต่ใครก็ได้ช่วยบอกฉันถึงวิธีสร้างกล่องรายการแบบเลือกได้หลายรายการที่จะเปิดขึ้น เช่น เมื่อฉันเลือกชื่อ ฉันต้องการให้กล่องรายการพอดีในหนึ่งเดียว
ตัวอย่าง: ฉันมีรายชื่อพร้อมข้อมูลติดต่อ ฯลฯ ฉันต้องการสร้างกล่องรายการซ้ำสำหรับแต่ละชื่อในรายการของฉัน ฉันต้องการให้เปิดโดยอัตโนมัติเมื่อฉันเลือกชื่อและยุบกลับเข้าไปในเซลล์เมื่อฉันไปที่แถวข้อมูลอื่น กรุณาแนะนำ ขอบคุณล่วงหน้า.
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
เรียน คุณแรนดี้
ขออภัยไม่สามารถแก้ปัญหานี้ได้
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
มันทำงานได้อย่างสมบูรณ์ตามคำแนะนำ แต่ถ้าฉันปกป้องแผ่นงาน มันให้และเกิดข้อผิดพลาด วิธีแก้ปัญหาใด ๆ สำหรับสิ่งนี้?
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ทำงานได้อย่างสมบูรณ์ตามคำแนะนำ แต่ฉันจะใช้สิ่งนี้บนแผ่นงานที่ได้รับการป้องกันได้อย่างไร ปัจจุบัน ถ้าฉันใช้สิ่งนี้หลังจากปกป้องแผ่นงาน มันทำให้ฉันและข้อผิดพลาด "ข้อผิดพลาดรันไทม์ '-2147024809 (80070057)': ค่าที่ระบุอยู่นอกช่วง"
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
เรียน คุณอมิต สุข
ก่อนป้องกันเวิร์กชีต โปรดจัดรูปแบบเซลล์เอาต์พุตเป็นปลดล็อกแล้วใช้โค้ด VBA ด้านล่าง ขอบคุณสำหรับความคิดเห็นของคุณ.

สี่เหลี่ยมผืนผ้าย่อย2_Click()
Dim xSelShp เป็นรูปร่าง, xSelLst เป็นตัวแปร, ฉันเป็นจำนวนเต็ม
เกี่ยวกับข้อผิดพลาดต่อไป
ตั้งค่า xSelShp = ActiveSheet.Shapes (Application.Caller)
ตั้งค่า xLstBox = ActiveSheet.ListBox1
ถ้า xLstBox.Visible = False แล้ว
xLstBox.Visible = จริง
xSelShp.TextFrame2.TextRange.Characters.Text = "ตัวเลือกการรับสินค้า"
อื่น
xLstBox.Visible = เท็จ
xSelShp.TextFrame2.TextRange.Characters.Text = "เลือกตัวเลือก"
สำหรับฉัน = xLstBox.ListCount - 1 ถึง 0 ขั้นตอน -1
ถ้า xLstBox.Selected(I) = True แล้ว
xSelLst = xLstBox.List(I) & ";" & xSellst
End If
ถัดไปฉัน
ถ้า xSelLst <> "" แล้ว
ช่วง ("ListBoxOutput") = กลาง (xSelLst, 1, Len (xSelLst) - 1)
อื่น
ช่วง ("ListBoxOutput") = ""
End If
End If
ย่อยสิ้นสุด
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
"ฉันได้สร้างไฟล์โดยใช้กล่องรายการ ActiveX ตามที่คุณอธิบาย ฉันได้ป้อนข้อมูลและเพิ่มคุณสมบัติบางอย่างด้วย ฉันได้ตรวจสอบข้อมูลบางส่วนโดยใช้ช่องทำเครื่องหมายในรายการ และบันทึก & ออกจากไฟล์ แต่ในขณะที่ เปิดไฟล์ใหม่อีกครั้งไม่แสดงข้อมูลที่ตรวจสอบแล้ว .. ใครช่วยแนะนำฉันให้บันทึกการอัปเดตเหล่านั้นได้บ้าง "
ใครก็ได้ช่วยฉันที
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขอให้เป็นวันที่ดี,
โปรดวางโค้ด VBA ด้านล่างลงในหน้าต่างโค้ด ThisWorkbook
ในโค้ดนี้ Sheet6 เป็นชื่อเริ่มต้นของเวิร์กชีตที่มีกล่องรายการที่คุณต้องการคงการเลือกไว้ดังภาพด้านล่าง และ ListBox1 เป็นชื่อของกล่องรายการ กรุณาเปลี่ยนตามที่คุณต้องการ

สมุดงานย่อยส่วนตัว_ก่อนบันทึก (ByVal SaveAsUI เป็นบูลีน ยกเลิกเป็นบูลีน)
โทร SaveSelections
ย่อยสิ้นสุด

สมุดงานย่อยส่วนตัว_Open()
โทรคืนค่าการเลือก
ย่อยสิ้นสุด

ย่อยส่วนตัว SaveSelections()

Dim arr() As Variant, i As Long, j As Long

ด้วย Sheet6.OLEObjects("ListBox1").Object
ถ้า .ListIndex > 0 แล้ว
สำหรับ i = 0 ถึง .ListCount - 1
ถ้า .Selected(i) แล้วก็
เจ = เจ + 1
ReDim Preserve arr(1 ถึง j)
arr(j) = ฉัน
End If
ต่อไป
Names.Add Name:="Selections", RefersTo:=arr, Visible:=False
End If
จบด้วย

ย่อยสิ้นสุด

ตัวเลือกการคืนค่าย่อยส่วนตัว ()

Dim arr As Variant ฉัน As Integer

arr = [การเลือก]

ด้วย Sheet6.OLEObjects("ListBox1").Object
สำหรับผม = 1 ถึง UBound(arr)
.Selected(arr(i)) = จริง
ต่อไป
จบด้วย

ย่อยสิ้นสุด
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขอบคุณสำหรับการตอบกลับครับ แต่มันไม่ทำงานในกรณีของไฟล์ของฉัน คุณช่วยกรุณาส่งรหัสเมลของคุณ เพื่อที่ฉันจะได้ส่งไฟล์ของฉันให้คุณทางไปรษณีย์
ขอบคุณล่วงหน้า
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
เรียน มัญชุชา ไอแซก
กรุณาส่งไฟล์ของคุณไปที่ zxm@addin99.com หวังว่าฉันจะช่วยได้
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
นอกจากนี้ คุณต้องบันทึกสมุดงานเป็นสมุดงานที่เปิดใช้งาน Excel Macro และเปิดใช้งานรหัสทุกครั้งที่คุณเปลี่ยนการเลือกกล่องรายการ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ฉันต้องการอัปเดตชื่อในคอลัมน์ต่างๆ โดยอัตโนมัติ เป็นไปได้ไหมถ้าเป็นไปได้กรุณาแบ่งปันรหัสให้ฉัน
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
น่าอัศจรรย์ มันใช้งานได้ แต่หลังจากที่ฉันปิด excel และเปิดอีกครั้ง กาเครื่องหมายจากช่องทำเครื่องหมายหายไป ดังนั้นถ้าฉันคลิกปุ่ม รายการทั้งหมดจะหายไป วิธีแก้ปัญหาสำหรับสิ่งนี้
ได้โปรดมีคนช่วยฉันด้วย
ขอบคุณมากในขั้นสูง
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
แองเจิลที่รัก
เราได้เผยแพร่บทความ "วิธีการบันทึกหรือเก็บการเลือกกล่องรายการ ActiveX ใน Excel" ซึ่งแนะนำวิธีการบันทึกการเลือกกล่องรายการหลังจากปิดและเปิดเวิร์กบุ๊กอีกครั้ง
คุณสามารถไปตามลิงค์นี้เพื่อรับข้อมูลเพิ่มเติม: https://www.extendoffice.com/documents/excel/5051-excel-listbox-save-selection.html
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
มันใช้งานได้ดี แต่ฉันมีปัญหาหนึ่งหลังจากที่ฉันบันทึกไฟล์และเปิดมันอีกครั้ง กาเครื่องหมายทั้งหมดจากรายการช่องทำเครื่องหมายหายไปหมดแล้ว
คุณช่วยฉันทำสิ่งนี้ได้ไหม ขอบคุณมาก
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
นอกจากนี้ยังเปลี่ยนขนาดของกล่องรายการและรูปร่างเสมอหลังจากบันทึกและเปิดไฟล์อีกครั้งหากใครมีวิธีแก้ปัญหานี้โปรดช่วยฉันด้วย

ขอบคุณมาก
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
มาร์คที่รัก
เราได้เผยแพร่บทความ "วิธีการบันทึกหรือเก็บการเลือกกล่องรายการ ActiveX ใน Excel" ซึ่งแนะนำวิธีการบันทึกการเลือกกล่องรายการหลังจากปิดและเปิดเวิร์กบุ๊กอีกครั้ง
คุณสามารถไปตามลิงค์นี้เพื่อรับข้อมูลเพิ่มเติม: https://www.extendoffice.com/documents/excel/5051-excel-listbox-save-selection.html
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี,

ฉันสงสัยว่ามีวิธีกำหนดตัวเลือกการรับสินค้าไปยังเซลล์มากกว่าหนึ่งเซลล์ (ไม่ใช่แค่ E4) หรือทำการเลือกรายการตรวจสอบแบบเลื่อนลงเพื่อให้ฉันสามารถเลือกตัวเลือกหลายตัวจากรายการตรวจสอบ แต่ทำซ้ำ ๆ และไม่ขึ้นอยู่กับ ตัวเลือกอื่น ๆ ที่ฉันทำ ตัวอย่างเช่น ฉันจะใช้รายการตัวเลือกการรับสินค้าเดียวกันเพื่อป้อนข้อมูลการเลือกรายการที่แตกต่างกันไปยัง E5, E6, E7 ฯลฯ จากรายการรับสินค้าเดียวกันได้อย่างไร

ขอขอบคุณ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี LizKats,
โปรดลองรหัสด้านล่าง หวังว่าฉันจะช่วยได้ ขอขอบคุณ.

สี่เหลี่ยมผืนผ้าย่อย2_Click()

'ปรับปรุงโดย Extendoffice 20200529

Dim xSelShp As Shape, xSelLst As Variant, i As Integer

ตั้งค่า xSelShp = ActiveSheet.Shapes (Application.Caller)

ตั้งค่า xLstBox = ActiveSheet.ListBox1

Dim xRg เป็นช่วง

Dim xCount, xFNum, xR, xC เป็นจำนวนเต็ม

Dim xStr เป็นสตริง

ถ้า xLstBox.Visible = False แล้ว

xLstBox.Visible = จริง

xSelShp.TextFrame2.TextRange.Characters.Text = "ตัวเลือกการรับสินค้า"

อื่น

xLstBox.Visible = เท็จ

xSelShp.TextFrame2.TextRange.Characters.Text = "เลือกตัวเลือก"

ตั้งค่า xRg = ช่วง ("ListBoxOutput")

xCount = xLstBox.ListCount - 1

xStr = ""

สำหรับ i = xLstBox.ListCount - 1 ถึง 0 ขั้นตอน -1

ถ้า xLstBox.Selected(i) = True แล้ว

xStr = xLstBox.List(i) & ";" & xStr

End If

ต่อไปฉัน



ถ้า xRg.Value = "" แล้ว

xRg.Value = xStr

อื่น

ตั้งค่า xRg = xRg.Offset(1, 0)

ทำในขณะที่ xRg.Value <> ""

ตั้งค่า xRg = xRg.Offset(1, 0)

ห่วง

xRg.Value = xStr

End If

End If

ย่อยสิ้นสุด
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี,

ขอบคุณมากสำหรับบทความที่ยอดเยี่ยมนี้! นี่คือรหัสที่แก้ไขที่ฉันกำลังมองหาในความคิดเห็น! อย่างไรก็ตาม ฉันเห็นว่าสตริง xStr ที่รวมกันนั้นเพิ่มเครื่องหมายอัฒภาค ";" ถึงจุดสิ้นสุดอย่างใด ฉันไม่สามารถแก้ไขข้อบกพร่องในการไม่รวมเครื่องหมายอัฒภาคที่ส่วนท้ายของสตริงได้

นอกจากนี้ยังมีวิธีระบุช่วงเซลล์เฉพาะสำหรับ xRg หรือไม่ ฉันหมายถึง Set xRg = Range("ListBoxOutput") และต้องการเปลี่ยน ListBoxOutput เป็น H5:H10 & H15:20 มันจะเป็นไปได้อย่างใด?
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
มันใช้งานได้ดี ขอบคุณมากสำหรับความช่วยเหลือของคุณ ฉันมีปัญหาหนึ่งที่นี่คือ ผลลัพธ์ทั้งหมดมาในเซลล์เดียวกัน E4 เราจะรับผลลัพธ์ในเซลล์ต่าง ๆ ได้อย่างไร เช่น: ผลลัพธ์สำหรับ C4 ใน E4, C5 ใน E5 , C6 ใน E6 เป็นต้น
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขอให้เป็นวันที่ดี,
ปัญหาที่คุณกล่าวถึงยังไม่สามารถแก้ไขได้
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ดี๊ดี๊ดี! พรอชู ปอมโมช.
Как сделать так чтобы каждое значение выходило на новой клетке? чтобы по выходило по вертикали?
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ช่วย!!! เอาต์พุตในช่วงต่างๆ (แนวตั้ง) เป็นอย่างไร?
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สี่เหลี่ยมผืนผ้าย่อย2_Click()
'ปรับปรุงโดย Extendoffice 20190924
Dim xSelShp เป็นรูปร่าง, xSelLst เป็นตัวแปร, ฉันเป็นจำนวนเต็ม
Dim xRg เป็นช่วง
ตั้งค่า xSelShp = ActiveSheet.Shapes (Application.Caller)
ตั้งค่า xLstBox = ActiveSheet.ListBox1
ถ้า xLstBox.Visible = False แล้ว
xLstBox.Visible = จริง
xSelShp.TextFrame2.TextRange.Characters.Text = "ตัวเลือกการรับสินค้า"
อื่น
xLstBox.Visible = เท็จ
xSelShp.TextFrame2.TextRange.Characters.Text = "เลือกตัวเลือก"
ตั้งค่า xRg = ช่วง ("ListBoxOutput")
สำหรับฉัน = 0 ถึง xLstBox.ListCount - 1
ถ้า xLstBox.Selected(I) = True แล้ว
xSelLst = xLstBox.List(I)
xRg.Value = กลาง (xSelLst, 1, Len(xSelLst))
ตั้งค่า xRg = xRg.Offset(1, 0)
End If
ถัดไปฉัน
End If
ย่อยสิ้นสุด
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
Como puedo replicar éste ejercicio en las filas ด้อยกว่า ?
ฉันจะทำซ้ำแบบฝึกหัดนี้ในแถวด้านล่างได้อย่างไร
มีความคิดเห็นยังไม่มีการโพสต์ที่นี่
โหลดเพิ่มเติม
แสดงความคิดเห็นของคุณ
โพสต์ในฐานะแขก
×
ให้คะแนนโพสต์นี้:
0   ตัวอักษร
สถานที่แนะนำ

ช่องทางอื่นๆ

ลิขสิทธิ์© 2009 - wwwextendoffice.com | สงวนลิขสิทธิ์. ขับเคลื่อนโดย ExtendOffice. | แผนผังเว็บไซต์
Microsoft และโลโก้ Office เป็นเครื่องหมายการค้าหรือเครื่องหมายการค้าจดทะเบียนของ Microsoft Corporation ในสหรัฐอเมริกาและ / หรือประเทศอื่น ๆ
ได้รับการปกป้องโดย Sectigo SSL