كيفية إنشاء قائمة منسدلة مع تحديدات أو قيم متعددة في Excel؟
بشكل افتراضي ، يمكنك تحديد عنصر واحد فقط في القائمة المنسدلة للتحقق من صحة البيانات في Excel. كيف يمكنك إجراء تحديدات متعددة في القائمة المنسدلة كما هو موضح أدناه gif؟ يمكن أن تساعدك الطرق الواردة في هذه المقالة في حل المشكلة.
المزيد من البرامج التعليمية للقائمة المنسدلة ...
قم بإنشاء قائمة منسدلة مع تحديدات متعددة باستخدام رمز VBA
يوفر هذا القسم رمزي VBA لمساعدتك في إجراء تحديدات متعددة في القوائم المنسدلة في ورقة العمل. يمكن أن يحقق رمزا VBA:
يمكنك تطبيق أحد رموز VBA التالية لإجراء تحديدات متعددة في قائمة منسدلة في ورقة عمل في Excel. الرجاء القيام بما يلي.
1. افتح ورقة العمل التي تحتوي على القوائم المنسدلة للتحقق من صحة البيانات التي تريد إجراء تحديدات متعددة منها. انقر بزر الماوس الأيمن فوق علامة تبويب الورقة وحدد عرض الرمز من قائمة السياق.
2. في ال ميكروسوفت فيسوال باسيك للتطبيقات نافذة ، انسخ رمز فبا أدناه في نافذة الكود. انظر لقطة الشاشة:
كود فبا 1: السماح بتحديدات متعددة في قائمة منسدلة بدون تكرارات
Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 2019/11/13
Dim xRng As Range
Dim xValue1 As String
Dim xValue2 As String
If Target.Count > 1 Then Exit Sub
On Error Resume Next
Set xRng = Cells.SpecialCells(xlCellTypeAllValidation)
If xRng Is Nothing Then Exit Sub
Application.EnableEvents = False
If Not Application.Intersect(Target, xRng) Is Nothing Then
xValue2 = Target.Value
Application.Undo
xValue1 = Target.Value
Target.Value = xValue2
If xValue1 <> "" Then
If xValue2 <> "" Then
If xValue1 = xValue2 Or _
InStr(1, xValue1, ", " & xValue2) Or _
InStr(1, xValue1, xValue2 & ",") Then
Target.Value = xValue1
Else
Target.Value = xValue1 & ", " & xValue2
End If
End If
End If
End If
Application.EnableEvents = True
End Sub
3. اضغط على قديم + Q مفاتيح لإغلاق ميكروسوفت فيسوال باسيك للتطبيقات نافذة.
يمكنك الآن تحديد عناصر متعددة من القائمة المنسدلة في ورقة العمل الحالية.
لنفترض أنك حددت عنصرًا عن طريق الخطأ وتحتاج إلى إزالته دون مسح الخلية بأكملها والبدء من جديد. يمكن أن يقدم لك رمز VBA 2 التالي خدمة.
كود فبا 2: السماح بتحديدات متعددة في قائمة منسدلة بدون تكرارات (احذف العناصر الموجودة بتحديدها مرة أخرى)
Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 2023/01/11
'Updated by Ken Gardner 2022/07/11
Dim xRng As Range
Dim xValue1 As String
Dim xValue2 As String
Dim semiColonCnt As Integer
Dim xType As Integer
If Target.Count > 1 Then Exit Sub
On Error Resume Next
xType = 0
xType = Target.Validation.Type
If xType = 3 Then
Application.ScreenUpdating = False
Application.EnableEvents = False
xValue2 = Target.Value
Application.Undo
xValue1 = Target.Value
Target.Value = xValue2
If xValue1 <> "" Then
If xValue2 <> "" Then
If xValue1 = xValue2 Or xValue1 = xValue2 & ";" Or xValue1 = xValue2 & "; " Then ' leave the value if only one in list
xValue1 = Replace(xValue1, "; ", "")
xValue1 = Replace(xValue1, ";", "")
Target.Value = xValue1
ElseIf InStr(1, xValue1, "; " & xValue2) Then
xValue1 = Replace(xValue1, xValue2, "") ' removes existing value from the list on repeat selection
Target.Value = xValue1
ElseIf InStr(1, xValue1, xValue2 & ";") Then
xValue1 = Replace(xValue1, xValue2, "")
Target.Value = xValue1
Else
Target.Value = xValue1 & "; " & xValue2
End If
Target.Value = Replace(Target.Value, ";;", ";")
Target.Value = Replace(Target.Value, "; ;", ";")
If Target.Value <> "" Then
If Right(Target.Value, 2) = "; " Then
Target.Value = Left(Target.Value, Len(Target.Value) - 2)
End If
End If
If InStr(1, Target.Value, "; ") = 1 Then ' check for ; as first character and remove it
Target.Value = Replace(Target.Value, "; ", "", 1, 1)
End If
If InStr(1, Target.Value, ";") = 1 Then
Target.Value = Replace(Target.Value, ";", "", 1, 1)
End If
semiColonCnt = 0
For i = 1 To Len(Target.Value)
If InStr(i, Target.Value, ";") Then
semiColonCnt = semiColonCnt + 1
End If
Next i
If semiColonCnt = 1 Then ' remove ; if last character
Target.Value = Replace(Target.Value, "; ", "")
Target.Value = Replace(Target.Value, ";", "")
End If
End If
End If
Application.EnableEvents = True
Application.ScreenUpdating = True
End If
End Sub
ملاحظة:
يمكنك بسهولة إنشاء قائمة منسدلة مع تحديدات متعددة باستخدام أداة مذهلة
كما ترى ، ليس من السهل التعامل مع رموز VBA أعلاه. هنا نوصي بشدة بـ قائمة منسدلة متعددة التحديد سمة من سمات Kutools for Excel لمساعدتك في التعامل مع هذه المهمة بسهولة بنقرات. باستخدام هذه الميزة ، يمكنك بسهولة تحديد عناصر متعددة من القائمة المنسدلة في نطاق محدد أو ورقة العمل الحالية أو المصنف الحالي أو جميع المصنفات المفتوحة حسب حاجتك.
معلومه- سرية: قبل تطبيق هذه الأداة ، يرجى التثبيت Kutools for Excel أولا. انتقل إلى التنزيل المجاني الآن.
- أختار كوتولس > قائمة منسدلة > قائمة منسدلة متعددة التحديد.
- في مجلة قائمة منسدلة متعددة التحديد في مربع الحوار ، قم بالإعدادات التالية.
2.1) حدد المكان الذي تريد تطبيق هذه الميزة فيه في حدد النطاق قسم.2.2) تحديد الفاصل للعناصر المحددة في الخلية ؛2.3) تحديد اتجاه النص ;شنومكس) انقر OK.

نتيجة
مقالات ذات صلة:
الإكمال التلقائي عند الكتابة في قائمة Excel المنسدلة
إذا كانت لديك قائمة منسدلة للتحقق من صحة البيانات بقيم كبيرة ، فأنت بحاجة إلى التمرير لأسفل في القائمة فقط للعثور على الكلمة المناسبة ، أو كتابة الكلمة بأكملها في مربع القائمة مباشرةً. إذا كانت هناك طريقة للسماح بالإكمال التلقائي عند كتابة الحرف الأول في القائمة المنسدلة ، فسيصبح كل شيء أسهل. يوفر هذا البرنامج التعليمي طريقة حل المشكلة.
قم بإنشاء قائمة منسدلة من مصنف آخر في Excel
من السهل جدًا إنشاء قائمة منسدلة للتحقق من صحة البيانات بين أوراق العمل داخل المصنف. ولكن إذا كانت بيانات القائمة التي تحتاجها للتحقق من صحة البيانات موجودة في مصنف آخر ، فماذا ستفعل؟ في هذا البرنامج التعليمي ، ستتعلم كيفية إنشاء قائمة منسدلة من مصنف آخر في Excel بالتفصيل.
قم بإنشاء قائمة منسدلة قابلة للبحث في Excel
بالنسبة للقائمة المنسدلة ذات القيم المتعددة ، فإن العثور على قائمة مناسبة ليس بالأمر السهل. قدمنا سابقًا طريقة قائمة منسدلة للإكمال التلقائي عند إدخال الحرف الأول في المربع المنسدل. إلى جانب وظيفة الإكمال التلقائي ، يمكنك أيضًا جعل القائمة المنسدلة قابلة للبحث لتحسين كفاءة العمل في العثور على القيم المناسبة في القائمة المنسدلة. لجعل القائمة المنسدلة قابلة للبحث ، جرب الطريقة الموجودة في هذا البرنامج التعليمي.
ملء الخلايا الأخرى تلقائيًا عند تحديد القيم في القائمة المنسدلة في Excel
لنفترض أنك قمت بإنشاء قائمة منسدلة بناءً على القيم الموجودة في نطاق الخلايا B8: B14. عند تحديد أي قيمة في القائمة المنسدلة ، فأنت تريد ملء القيم المقابلة في نطاق الخلايا C8: C14 تلقائيًا في خلية محددة. لحل المشكلة ، ستفيدك الطرق الموجودة في هذا البرنامج التعليمي.
أفضل أدوات إنتاجية المكتب
ارفع مهاراتك في برنامج Excel باستخدام Kutools for Excelوتجربة كفاءة لم يسبق لها مثيل. Kutools for Excel يقدم أكثر من 300 ميزة متقدمة لتعزيز الإنتاجية وتوفير الوقت. انقر هنا للحصول على الميزة التي تحتاجها أكثر...
Office Tab يجلب الواجهة المبوبة إلى Office ، ويجعل عملك أسهل بكثير
- تمكين التحرير والقراءة المبوبة في Word و Excel و PowerPointوالناشر والوصول و Visio والمشروع.
- فتح وإنشاء مستندات متعددة في علامات تبويب جديدة من نفس النافذة ، بدلاً من النوافذ الجديدة.
- يزيد من إنتاجيتك بنسبة 50٪ ، ويقلل مئات النقرات بالماوس كل يوم!






















