نصيحة: اللغات الأخرى مترجمة من قبل Google. يمكنك زيارة English نسخة من هذا الرابط.
تسجيل الدخول
x
or
x
x
التسجيل
x

or

كيفية إنشاء قائمة منسدلة مع مربعات اختيار متعددة في إكسيل؟

يميل العديد من مستخدمي إكسيل إلى إنشاء قائمة منسدلة مع مربعات اختيار متعددة لتحديد عناصر متعددة في كل مرة. في الواقع، لا يمكنك إنشاء قائمة مع مربعات اختيار متعددة مع التحقق من صحة البيانات. سنعرض لك هنا كيفية استخدام مربع القائمة لإنشاء قائمة منسدلة مع مربعات اختيار متعددة في إكسيل.

استخدام مربع القائمة لإنشاء قائمة منسدلة مع مربعات الاختيار متعددة

ج: إنشاء مربع قائمة مع بيانات المصدر

ب: اسم خلية تحديد موقع العناصر المحددة

C: إدراج شكل لإخراج العناصر المحددة من مربع القائمة


قم بإدراج مربعات الاختيار المتعددة أو حذفها بشكل مجمّع في Excel:

الـ دفعة إدراج مربعات الاختيار المرافق كوتولس ل إكسيل يمكن أن تساعدك على إدراج مربعات الاختيار المتعددة بسرعة في نطاق محدد في وقت واحد. ويمكنك حذف جميع خانات الاختيار في نطاق محدد مع دفعة حذف مربعات الاختيار. انظر sccreenshot:

كوتولس ل إكسيل: مع أكثر من شنومكس مفيد اكسل الإضافية، مجانا في محاولة مع عدم وجود قيود في أيام شنومكس. تحميل وتجريبية مجانية الآن!

علامة تبويب Office تمكين التحرير والتصفح في Tabbed ، وجعل عملك أسهل بكثير ...
Kutools for Excel يحل معظم مشاكلك ، ويزيد من إنتاجيتك بنسبة 80٪
  • إعادة استخدام أي شيء: أضف الصيغ الأكثر استخدامًا أو تعقيدًا والمخططات وأي شيء آخر إلى مفضلاتك ، ثم أعد استخدامها سريعًا في المستقبل.
  • أكثر من ميزات نص 20: استخراج الرقم من سلسلة النص ؛ استخراج أو إزالة جزء من النصوص ؛ تحويل الأرقام والعملات إلى الكلمات الإنجليزية ...
  • دمج الأدوات: العديد من المصنفات والأوراق في واحد ؛ دمج خلايا / صفوف / أعمدة متعددة دون فقدان البيانات ؛ دمج الصفوف المكررة ومجموع ...
  • أدوات الانقسام: تقسيم البيانات إلى أوراق متعددة بناءً على القيمة ؛ مصنف واحد إلى ملفات Excel أو PDF أو CSV متعددة ؛ عمود واحد إلى أعمدة متعددة ...
  • لصق الطفر الصفوف المخفية / المصفاة ؛ عدد ومبلغ بواسطة لون الخلفية. إنشاء قائمة بريدية و إرسال رسائل البريد الإلكتروني حسب قيمة الخلية...
  • فلتر سوبر: إنشاء مخططات تصفية متقدمة وتطبيقها على أي أوراق ؛ فرز حسب الأسبوع ، اليوم ، التردد وغير ذلك ؛ تصفية / فلترة بواسطة جريئة ، الصيغ ، التعليق ...
  • أكثر من ميزات 300 القوية ؛ يعمل مع Office 2007-2019 و 365 ؛ يدعم جميع اللغات ؛ سهولة النشر في مؤسستك أو مؤسستك.

استخدام مربع القائمة لإنشاء قائمة منسدلة مع مربعات الاختيار متعددة


كما أدناه تظهر الصورة. في شيتنومك، كافة الأسماء في نطاق أكسنومك: أكسنومك هي بيانات المصدر من مربع القائمة، انقر على الزر في الخلية ككنومكس يمكن إخراج العناصر المحددة، وسيتم عرض كافة العناصر المحددة في مربع القائمة في الخلية إكسنومكس. يرجى القيام على النحو التالي.

أ. إنشاء مربع قائمة مع بيانات المصدر

1. انقر المطور > إدراج > قائمة مربع (تحكم نشط X). انظر لقطة الشاشة:

2. ارسم مربع قائمة في ورقة العمل الحالية ثم انقر بزر الماوس الأيمن عليه. ثم حدد العقارات من قائمة النقر بزر الماوس الأيمن.

3. ثم العقارات مربع الحوار للملوثات العضوية الثابتة. في ال المدى قائمة التعبئة مربع، أدخل نطاق المصدر تحتاج إلى عرض في القائمة (هنا أدخل النطاق أكسنومك: أكسنومك)، وفي نمط قائمة مربع، حدد شنومكس - فمليست ستايلوبتيون، ثم حدد شنومكس - فمولتيسلكتمولتي في ال تحديد متعدد صندوق. وأخيرا إغلاق العقارات صندوق المحادثة. تمت إضافة جميع بيانات المصدر في مربع القائمة مع مربعات الاختيار. انظر لقطة الشاشة:

ب: اسم خلية تحديد موقع العناصر المحددة

إذا كنت بحاجة إلى إخراج كافة العناصر المحددة في خلية محددة، يرجى القيام على النحو التالي.

1. حدد الخلية المحددة (هنا نختار الخلية إكسنومكس)، ثم أدخل ListBoxOutput في اسم صندوق.

2. اضغط على أدخل الرئيسية.

C. إدراج شكل لإخراج العناصر المحددة من مربع القائمة

1. انقر إدراج > الأشكال > مستطيل. انظر لقطة الشاشة:

2. ارسم المستطيل في ورقة العمل (هنا أرسم المستطيل في الخلية كسنومكس). ثم انقر بزر الماوس الأيمن على المستطيل وحدد تعيين ماكرو من قائمة النقر بزر الماوس الأيمن.

3. في ال تعيين وحدات الماكرو مربع الحوار، انقر فوق جديد زر. انظر لقطة الشاشة:

4. في الافتتاح ميكروسوفت فيسوال باسيك للتطبيقات نافذة، استبدال التعليمات البرمجية في إطار الوحدة النمطية مع التعليمات البرمجية فبا أدناه.

رمز فبا: أنشئ قائمة تحتوي على مربعات اختيار متعددة

Sub Rectangle2_Click()

Dim xSelShp As Shape, xSelLst As Variant, I As Integer
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"
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

ملاحظة:: في التعليمات البرمجية، Rectangle2 هو اسم الشكل؛ ListBox1 هو اسم مربع القائمة المدرجة؛ اشر على الخيارات و خيارات بيك اب هي النصوص المعروضة من الشكل. و ال ListBoxOutput هو اسم نطاق خلية الإخراج. يمكنك تغييرها بناء على احتياجاتك.

5. صحافة قديم + Q مفاتيح في وقت واحد لإغلاق ميكروسوفت فيسوال باسيك للتطبيقات نافذة.

الآن، ارجع إلى الورقة. حدد العناصر في مربع القائمة عن طريق تحديد مربعات الاختيار المقابلة.

بعد تحديد كافة العناصر المطلوبة من القائمة، انقر على المستطيل لإخراجها إلى خلية معينة إكسنومكس، وسيتم إخفاء مربع القائمة كذلك. انظر لقطة الشاشة:

تبويب أوفيس - الاستعراض المبوب ، وتحرير ، وإدارة المصنفات في Excel:

يقوم Office Tab بدمج الواجهة المبوبة كما تظهر في متصفحات الويب مثل Google Chrome والإصدارات الجديدة من Internet Explorer و Firefox إلى Microsoft Excel. وستكون أداة لتوفير الوقت ولا يمكن استبدالها في عملك. انظر أدناه العرض التوضيحي:

انقر على نسخة تجريبية مجانية من تبويب أوفيس!

تبويب Office لـ Excel


مقالات ذات صلة:


Kutools for Excel يحل معظم مشاكلك ، ويزيد من إنتاجيتك بنسبة 80٪

  • إعادة استخدام: إدراج بسرعة الصيغ المعقدة ، الرسوم البيانية وأي شيء استخدمته من قبل ؛ تشفير الخلايا مع كلمة المرور إنشاء قائمة بريدية وإرسال رسائل البريد الإلكتروني ...
  • سوبر الفورمولا بار (بسهولة تحرير أسطر متعددة من النص والصيغة) ؛ تخطيط القراءة (بسهولة قراءة وتحرير أعداد كبيرة من الخلايا) ؛ لصق على المدى المصفى...
  • دمج الخلايا / الصفوف / الأعمدة دون فقدان البيانات ؛ انقسام خلايا المحتوى ؛ الجمع بين تكرار الصفوف / الأعمدة... منع الخلايا المكررة. مقارنة النطاقات...
  • حدد تكرار أو فريد الصفوف. حدد صفوف فارغة (جميع الخلايا فارغة) ؛ سوبر البحث والعثور غامض في العديد من المصنفات ؛ اختيار عشوائي ...
  • نسخة طبق الأصل خلايا متعددة دون تغيير مرجع الصيغة ؛ إنشاء المراجع تلقائيًا إلى أوراق متعددة. إدراج الرصاصات، مربعات الاختيار والمزيد ...
  • استخراج النص، إضافة نص ، حذف حسب الموضع ، إزالة الفضاء. إنشاء وطباعة مجاميع ترحيل الصفحات ؛ تحويل بين محتوى الخلايا والتعليقات...
  • سوبر تصفية (حفظ وتطبيق مخططات التصفية على أوراق أخرى) ؛ تصنيف متقدم حسب الشهر / الأسبوع / اليوم ، التردد وأكثر ؛ فلتر خاص بواسطة جريئة ، مائل ...
  • الجمع بين المصنفات وأوراق العمل. دمج الجداول على أساس الأعمدة الرئيسية ؛ تقسيم البيانات إلى أوراق متعددة; دفعة تحويل XLS ، XLSX وقوات الدفاع الشعبي...
  • أكثر من ميزات 300 القوية. يدعم Office / Excel 2007-2019 و 365. يدعم جميع اللغات. سهولة النشر في مؤسستك أو مؤسستك. ميزات كاملة النسخة التجريبية المجانية من 30.
علامة التبويب kte 201905

علامة تبويب Office توفر واجهة مبوبة لـ Office ، واجعل عملك أسهل بكثير

  • تمكين تحرير علامات التبويب والقراءة في Word و Excel و PowerPointوالناشر والوصول ، Visio ومشروع.
  • افتح مستندات متعددة وقم بإنشائها في علامات تبويب جديدة لنفس النافذة ، وليس في نوافذ جديدة.
  • يزيد إنتاجيتك بنسبة 50٪ ، ويقلل مئات نقرات الماوس لك كل يوم!
أسفل مكتبه
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Chez Baker · 3 months ago
    How would you make the output names display to different cells instead of being put together in one? Thank you!
    • To post as a guest, your comment is unpublished.
      crystal · 21 days ago
      Hi Chez Baker,
      With the below VBA code, you can fill the multiselection in different cells on the same row. Please have a try.

      Sub Rectangle2_Click()
      'Updated by Extendoffice 20190924
      Dim xSelShp As Shape, xSelLst As Variant, I As Integer
      Dim xRg As Range
      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"
      Else
      xLstBox.Visible = False
      xSelShp.TextFrame2.TextRange.Characters.Text = "Select Options"
      Set xRg = Range("ListBoxOutput")
      For I = 0 To xLstBox.ListCount - 1
      If xLstBox.Selected(I) = True Then
      xSelLst = xLstBox.List(I)
      xRg.Value = Mid(xSelLst, 1, Len(xSelLst))
      Set xRg = xRg.Offset(0, 1)
      End If
      Next I
      End If
      End Sub
  • To post as a guest, your comment is unpublished.
    Gustav Benz · 3 months ago
    Thank you so much for this, now how do I put multiple checkbox menus with different macros (as this one only applies to adding one in the excel file)?
    • To post as a guest, your comment is unpublished.
      crystal · 21 days ago
      Good day,
      Sorry can't help you with that. Thank you for your comment.
  • To post as a guest, your comment is unpublished.
    Jorge Valdes · 3 months ago
    hello Crystal, how Can I use this VBA code in order to fill diferents cells, this article is only to fill the multiselection in the same cell... could you help me please?
    • To post as a guest, your comment is unpublished.
      crystal · 21 days ago
      Hi Jorge Valdes,
      With the below VBA code, you can fill the multiselection in different cells on the same row. Please have a try.

      Sub Rectangle2_Click()
      'Updated by Extendoffice 20190924
      Dim xSelShp As Shape, xSelLst As Variant, I As Integer
      Dim xRg As Range
      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"
      Else
      xLstBox.Visible = False
      xSelShp.TextFrame2.TextRange.Characters.Text = "Select Options"
      Set xRg = Range("ListBoxOutput")
      For I = 0 To xLstBox.ListCount - 1
      If xLstBox.Selected(I) = True Then
      xSelLst = xLstBox.List(I)
      xRg.Value = Mid(xSelLst, 1, Len(xSelLst))
      Set xRg = xRg.Offset(0, 1)
      End If
      Next I
      End If
      End Sub
  • To post as a guest, your comment is unpublished.
    Jimmy · 5 months ago
    Como puedo replicar éste ejercicio en las filas inferiores ?
    How can I replicate this exercise in the rows below?
  • To post as a guest, your comment is unpublished.
    alcatel · 7 months ago
    HELP!!! how output in different ranges (vertically)?
  • To post as a guest, your comment is unpublished.
    alcat · 7 months ago
    Добрый день! Прошу помочь.
    Как сделать так чтобы каждое значение выходило на новой клетке? чтобы по выходило по вертикали?
  • To post as a guest, your comment is unpublished.
    binoy · 9 months ago
    It is working fine, thanks a lot for your help. I have one issue here is that, all the output is coming in the same cell E4, how can we get the output in different cells Eg: output for C4 in E4, C5 in E5 ,C6 in E6 etc.
    • To post as a guest, your comment is unpublished.
      crystal · 8 months ago
      Good Day,
      The problem you mentioned can't be solve yet.
  • To post as a guest, your comment is unpublished.
    Elizabeth Katsman · 1 years ago
    Hello,

    I am wondering if there is a way to direct the pickup options to more than one cell (not just E4), or make the selections a dropdown checklist so that I can select multiple options off a checklist, but do so repeatedly and independent of the other selections I've made. For example, how would I go about using the same list of pickup options to input a different selection of items to E5, E6, E7, etc. from the same pickup list.

    Thank you
  • To post as a guest, your comment is unpublished.
    mark · 1 years ago
    amazing its working but i have one issue after i save the file and open it again the all check from the checkbox list is all gone
    can you help me to this one thank you so much
    • To post as a guest, your comment is unpublished.
      crystal · 1 years ago
      Dear mark,
      We have published an article "How to save or retain selections of ActiveX list boxes in Excel?" which introduces method of saving the selections of list boxes after close and reopen the workbook.
      You can follow this link to get more information: https://www.extendoffice.com/documents/excel/5051-excel-listbox-save-selection.html
    • To post as a guest, your comment is unpublished.
      mark · 1 years ago
      also, it changes the size of the list box and shape always after save and open again the file if someone has a solution for this issue please help me

      thank you so much
  • To post as a guest, your comment is unpublished.
    Angel · 1 years ago
    AMAZING its working but after i close the excel and open it again the check from the checkbox is gone so if i click the button all list will be gone any solution for this
    please someone help me
    Thank you so much in advanced
  • To post as a guest, your comment is unpublished.
    Milind Ghadi · 1 years ago
    i want automatically update names in different columns. is it possible if possible kindly share me the code.
  • To post as a guest, your comment is unpublished.
    manjusha isac · 1 years ago
    "I have created a file using ActiveX list box as you are explained,there i have entered some data and and added some properties too.i have checked some data using the checkbox in the list ,and saved & exit from the file. But while re-opening the file it's not showing any checked data..can anybody give me a suggestion to save those updationes."
    Can anybody help me please.
    • To post as a guest, your comment is unpublished.
      crystal · 1 years ago
      Besides, you need to save the workbook as an Excel Macro-enabled Workbook, and activate the code every time you change the selections of the list box.
    • To post as a guest, your comment is unpublished.
      crystal · 1 years ago
      Good Day,
      Please place the below VBA code into ThisWorkbook code window.
      In the code, Sheet6 is the default name of the worksheet which contains the List Box you want to retain the selections as below screenshot shown. And ListBox1 is the name of the list box. Please change them as you need.

      Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
      Call SaveSelections
      End Sub

      Private Sub Workbook_Open()
      Call RestoreSelections
      End Sub

      Private Sub SaveSelections()

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

      With Sheet6.OLEObjects("ListBox1").Object
      If .ListIndex > 0 Then
      For i = 0 To .ListCount - 1
      If .Selected(i) Then
      j = j + 1
      ReDim Preserve arr(1 To j)
      arr(j) = i
      End If
      Next
      Names.Add Name:="Selections", RefersTo:=arr, Visible:=False
      End If
      End With

      End Sub

      Private Sub RestoreSelections()

      Dim arr As Variant, i As Integer

      arr = [Selections]

      With Sheet6.OLEObjects("ListBox1").Object
      For i = 1 To UBound(arr)
      .Selected(arr(i)) = True
      Next
      End With

      End Sub
      • To post as a guest, your comment is unpublished.
        manjusha isac · 1 years ago
        Thank you for the reply sir ,but its not working in the case of my file , can u please send your mail id , so that i can mail you my file to you.
        Thanks in advance
        • To post as a guest, your comment is unpublished.
          crystal · 1 years ago
          Dear manjusha isac,
          Please send your file to zxm@addin99.com. Hope I can help.
  • To post as a guest, your comment is unpublished.
    Amit Sood · 1 years ago
    Work perfectly as per the Instructions. But, How can I use this on a Protected sheet. Currently If I use this after protecting the sheet It gives me and error "Run-time error '-2147024809 (80070057)': The Specified Value is out of Range"
    • To post as a guest, your comment is unpublished.
      crystal · 1 years ago
      Dear Amit Sood,
      Before protecting the worksheet, please format the Output cell as unlocked and then apply the below VBA code. Thank you for your comment.

      Sub Rectangle2_Click()
      Dim xSelShp As Shape, xSelLst As Variant, I As Integer
      On Error Resume Next
      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"
      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
  • To post as a guest, your comment is unpublished.
    Amit Sood · 1 years ago
    It works perfectly as per the instructions, However if I protect the sheet it gives and error. Any workaround for this?
  • To post as a guest, your comment is unpublished.
    Randy · 1 years ago
    I'm a newbie to this but can anyone tell me how to create a mult-selection ListBox that will open, e.g., when I select a name. I want the list box to fit in a single.
    EXAMPLE: I have a list of names with contact info, etc. I want to create a duplicate Listbox for each name in my list. I'd like it to open automatically when I select a name and collapse back into the cell when I go to another row of info. Please advise. Thanks in advance.
  • To post as a guest, your comment is unpublished.
    MartSkot · 2 years ago
    Thank you! It is great and it works!
  • To post as a guest, your comment is unpublished.
    VBR looser · 2 years ago
    Once the output is done and press the button again, the previous selected items in the list box cannot be changed. How to resolve?
  • To post as a guest, your comment is unpublished.
    gimmic · 2 years ago
    could you please explain how can i easily copy this listbox for 100 rows? (seperate listboxes for each of 100 rows)
  • To post as a guest, your comment is unpublished.
    gimmic · 2 years ago
    Hello
    How can copy this listbox for multi cells. Just copy and paste is not working. Could you please explain for example in each cells (E5,E6,E7,E8,...) how can i put this selection box?
  • To post as a guest, your comment is unpublished.
    harshit · 2 years ago
    can you please explain how you have added ListBoxOutput on E4 cell
  • To post as a guest, your comment is unpublished.
    Chris M · 2 years ago
    This is just what i have been looking fo, is there a modification to the code that will put the next selection from the listbox in the next line. for eg
    one
    two
    three
    Instead of :
    one, two, three
  • To post as a guest, your comment is unpublished.
    Chris M · 2 years ago
    This is exactly what I have been looking for, can the code be modified to allow the selected data to display in separate cells down the column? so instead of:
    Monday, Tuesday, Wednesday,
    display as.
    Monday
    Tuesday
    Wednesday
  • To post as a guest, your comment is unpublished.
    Gazali Yakubu · 2 years ago
    This is fantastic. But will be better if the multi selection can be placed at where the cursor is active. Not necessarily what the code specifies.