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

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

في ورقة عمل Excel ، يمكننا إنشاء قائمة منسدلة بسرعة باستخدام ميزة التحقق من صحة البيانات ، ولكن هل سبق لك أن حاولت إظهار قيمة مختلفة عند النقر فوق القائمة المنسدلة؟ على سبيل المثال ، لدي بيانات العمودين التاليين في العمود A والعمود B ، الآن ، أحتاج إلى إنشاء قائمة منسدلة بالقيم الموجودة في عمود الاسم ، ولكن عندما أحدد الاسم من القائمة المنسدلة التي تم إنشاؤها ، يتم عرض القيمة في عمود الرقم كما هو موضح في لقطة الشاشة التالية. ستعرض هذه المقالة التفاصيل لحل هذه المهمة.

قيم مختلفة لقائمة doc المنسدلة 1

إنشاء قائمة منسدلة ولكن إظهار قيمة مختلفة في خلية القائمة المنسدلة


إنشاء قائمة منسدلة ولكن إظهار قيمة مختلفة في خلية القائمة المنسدلة

لإنهاء هذه المهمة ، يرجى اتباع الخطوات التالية خطوة بخطوة:

1. قم بإنشاء اسم نطاق لقيم الخلية التي تريد استخدامها في القائمة المنسدلة ، في هذا المثال ، سأدخل القائمة المنسدلة للاسم في اسم صندوق، ثم اضغط أدخل مفتاح ، انظر لقطة الشاشة:

قيم مختلفة لقائمة doc المنسدلة 2

2. ثم حدد الخلايا التي تريد إدراج القائمة المنسدلة فيها ، وانقر فوق البيانات > التحقق من صحة البيانات > التحقق من صحة البيانات، انظر لقطة الشاشة:

قيم مختلفة لقائمة doc المنسدلة 3

3. في التحقق من صحة البيانات مربع الحوار ، تحت الإعدادات علامة التبويب، اختر قائمة من السماح القائمة المنسدلة ، ثم انقر فوق قيم مختلفة لقائمة doc المنسدلة 5 لتحديد قائمة الاسم التي تريد استخدامها كقيم منسدلة في ملف مصدر مربع الكتابة. انظر لقطة الشاشة:

قيم مختلفة لقائمة doc المنسدلة 4

4. بعد إدراج القائمة المنسدلة ، يرجى النقر بزر الماوس الأيمن فوق علامة تبويب الورقة النشطة وتحديد عرض الرمز من قائمة السياق ، وفتح Microsoft Visual Basic للتطبيقات نافذة ، انسخ والصق الكود التالي في الوحدة النمطية الفارغة:

كود فبا: عرض قيمة مختلفة من القائمة المنسدلة:

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
    selectedNa = Target.Value
    If Target.Column = 5 Then
        selectedNum = Application.VLookup(selectedNa, ActiveSheet.Range("dropdown"), 2, False)
        If Not IsError(selectedNum) Then
            Target.Value = selectedNum
        End If
    End If
End Sub

قيم مختلفة لقائمة doc المنسدلة 6

ملاحظة: في الكود أعلاه ، الرقم 5 في غضون إذا كان Target.Column = 5 ثم النص البرمجي هو رقم العمود الذي حددته قائمتك المنسدلة ،اسقاط" في هذا selectedNum = Application.VLookup (محددNa ، ActiveSheet.Range ("قائمة منسدلة") ، 2 ، خطأ) الرمز هو اسم النطاق الذي قمت بإنشائه في الخطوة 1. يمكنك تغييرها إلى ما تريد.

5. ثم احفظ وأغلق هذا الرمز ، الآن ، عند تحديد عنصر من القائمة المنسدلة ، يتم عرض قيمة مختلفة نسبية في نفس الخلية ، انظر لقطة الشاشة:

قيم مختلفة لقائمة doc المنسدلة 7


عرض توضيحي: قم بإنشاء قائمة منسدلة ولكن أظهر قيمًا مختلفة في Excel

كوتولس ل إكسيل: مع أكثر من 300 وظيفة إضافية مفيدة في Excel ، يمكنك تجربتها مجانًا دون قيود خلال 30 يومًا. تنزيل وتجربة مجانية الآن!

 


أفضل أدوات إنتاجية المكتب

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

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

يجلب Office Tab الواجهة المبوبة إلى Office ، ويجعل عملك أسهل بكثير

  • تمكين التحرير والقراءة المبوبة في Word و Excel و PowerPointوالناشر والوصول و Visio والمشروع.
  • فتح وإنشاء مستندات متعددة في علامات تبويب جديدة من نفس النافذة ، بدلاً من النوافذ الجديدة.
  • يزيد إنتاجيتك بنسبة 50٪ ، ويقلل مئات النقرات بالماوس كل يوم!
أوفيسيتاب القاع

 

فرز التعليقات حسب
التعليقات (40)
لا يوجد تقييم. كن أول من يقيم!
تم تصغير هذا التعليق بواسطة المشرف على الموقع
هل يمكن عمل هذا على أوراق مختلفة؟ أعني ، على الورقة 1 القائمة المنسدلة وعلى الورقة 2 النطاق. كيف علي أن أكتب هذا؟ شكرا لك مقدما. تينا.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
ماذا لو أردت القيام بأكثر من قائمة منسدلة تقوم بإرجاع قيم مختلفة في نفس ورقة العمل؟ هل يمكنك أن تريني مثالاً على الترميز لشخصين أو أكثر؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
لي آن

إذا قمت فقط بنسخ ولصق الرمز من If إلى EndIf وتغيير العمود # والجدول ، فيجب أن يعمل:


Sub Worksheet_Change (ByVal Target As Range)
selectedNa = الهدف. القيمة
إذا كان Target.Column = 5 ثم
selectedNum = Application.VLookup (محددNa ، ActiveSheet.Range ("قائمة منسدلة") ، 2 ، خطأ)
إذا لم يكن IsError (selectedNum) ثم
الهدف. القيمة = عدد المختار
إنهاء حالة
إنهاء حالة
إذا كان Target.Column = 9 ثم
selectedNum = Application.VLookup (محددNa ، ActiveSheet.Range ("القائمة المنسدلة 1") ، 2 ، خطأ)
إذا لم يكن IsError (selectedNum) ثم
الهدف. القيمة = عدد المختار
إنهاء حالة
إنهاء حالة
نهاية الفرعية

أنا لا أقول أن هذه هي الطريقة الصحيحة ولكنها عملت على الإصدار التجريبي الخاص بي. أنا أستخدم Excel 2013
تم تصغير هذا التعليق بواسطة المشرف على الموقع
فقط حاولت ذلك. وعملت !! شكرًا لك.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، مساعدة ، إنها لا تعمل ، هل يمكنك لصق كل الرموز هنا لأعمدة 2؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
ليس هناك ما هو أكثر إحباطًا من كتابة سؤال مفصل فقط لإزالته. إذا قمت بكتابة الرمز الخاطئ المكون من 6 أرقام للتحقق من صحة الإنسان ، فسيؤدي ذلك إلى مسح الرسالة المنشورة. ربما نصلح ذلك. تعليقي الآن هو كالتالي: حاولت أن أفعل نفس الشيء الذي أظهرته في الفيديو والتعليمات المكتوبة وكل ما أحصل عليه هو عندما أختار اسمًا في القائمة هو الاسم وليس الرقم. أيضًا ، كيف يعمل هذا لأن التحقق من صحة البيانات يجب أن يقصر الاختيارات على ما هو موجود في القائمة فقط. كيف يتم خداع هذا النظام؟ في الماضي كان علي دائمًا تخصيص رمز vba لزر أو اختصار ، كيف يتم تنشيط هذا الرمز؟ كيف تختبر للتأكد من أنها تعمل؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
كيف تعمل الصيغة عندما تريد إضافة البيانات في ورقة منفصلة في المصنف؟ أريد إخفاء البيانات.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
التغيير هنا يا أخي!
selectedNum = Application.VLookup (selectedNa، Worksheets ("YourSheetName"). النطاق ("القائمة المنسدلة")، 2، False)
تم تصغير هذا التعليق بواسطة المشرف على الموقع
تشير "YourSheetName" إلى الورقة التي تحتوي على نطاق البيانات أو الورقة حيث أريد استخدام القائمة المنسدلة؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
كيف تعمل الصيغة عندما تريد سرد البيانات في ورقة / علامة تبويب منفصلة في المصنف؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
هذا لا يعمل في الإصدارات الحالية من excel- عفا عليها الزمن. لم يعد التحقق من صحة البيانات يظهر في vba لأن كائن excel قد جرب عدة مرات ولم يظهر.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
في هذا المثال ، ماذا لو كنت تريد أن تنظر إلى قيمة في كل خلية في 5 ، لكن ضع القيمة في الخلية المجاورة في 6
تم تصغير هذا التعليق بواسطة المشرف على الموقع
كيف سيحتاج الرمز للتغيير إذا أردت إنشاء مرجع / ارتباط في E1 لمصدر القائمة المنسدلة بناءً على القيمة المحددة؟
ستكون الفائدة أنه في حالة حدوث تغيير في مصدر القائمة المنسدلة (على سبيل المثال ، "Henrik" => "Hendrik" سينعكس التغيير تلقائيًا في E1.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
أي شخص يعرف كيفية الحصول على هذا للعمل في أوراق جوجل؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
أريد تحديد خيار متعدد من القائمة المنسدلة.
النتيجة هكذا: AA1001، BB1002
هل هو ممكن؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
هل وجدت حل؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
Si los datos de la lista están en otra hoja، cuál sería el código؟ جراسياس.
تم تصغير هذا التعليق بواسطة المشرف على الموقع
cómo buscar un valor hacia la izquierda
تم تصغير هذا التعليق بواسطة المشرف على الموقع
ورقة عمل فرعية خاصة تغيير (هدف ByVal كنطاق)
selectedNa = الهدف. القيمة
إذا كان Target.Column = 5 ثم

أوراق ("Nombre de la hoja en donde esta la lista"). تنشيط
selectedNum = Application.VLookup (محددNa ، ActiveSheet.Range ("قائمة منسدلة") ، 2 ، خطأ)
أوراق ("Nombre de la hoja en donde estas trabajando"). تنشيط
إذا لم يكن IsError (selectedNum) ثم
الهدف. القيمة = عدد المختار
إنهاء حالة
إنهاء حالة
نهاية الفرعية
تم تصغير هذا التعليق بواسطة المشرف على الموقع
يعرف شخص ما كيفية البحث عن القيمة من اليمين إلى اليسار
تم تصغير هذا التعليق بواسطة المشرف على الموقع
أحتاج إلى استخدام نفس القائمة المنسدلة في أكثر من عمود واحد ، ما هو الرمز؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا!
هذا مفيد حقا! شكرًا لك!
أنا أعمل في الحالة التي لا يتم فيها تحديث الخلية تلقائيًا أو عند استخدام وظيفة التحديث. لا بد لي من النقر فوق خلية أخرى ثم النقر مرة أخرى على الخلية قيد العمل لجعلها تعرض القيمة.
أعمل حاليًا مع Office Standard 2019. هل يعرف أي شخص ما إذا كانت هذه المشكلة متعلقة بالإصدار الموجود في Excel الذي أستخدمه؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبا،
كان الرمز يعمل بشكل جيد إذا كنا نحدد القائمة وننشئ القائمة المنسدلة في نفس الورقة.
ولكن كيف يمكننا تحديد قائمة القيم والرموز في ورقة واحدة والقائمة المنسدلة التي تم إنشاؤها في ورقة أخرى؟
هذا الرمز نفسه لا يعمل كما يظهر والخطأ في هذا السطر ("selectedNum = Application.VLookup (selectedNa، ActiveSheet.Range (" dropdown ")، 2، False)").
أيضًا ، لدي متطلب مثل ، إذا كان لدي عدة قوائم محددة في ورقة واحدة مع المعرف والأسماء والقوائم المنسدلة المتعددة في ورقة أخرى حيث تعتمد إحدى القيم المنسدلة على القيمة المحددة في قائمة منسدلة أخرى.

آمل أن تكون قد فهمت استفساري.

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

Application.ScreenUpdating = خطأ
أوراق ("SheetWithTableOnIt"). تنشيط

أوراق ("SheetWithDropDownListOnIt"). تنشيط
Application.ScreenUpdating = ترو
تم تصغير هذا التعليق بواسطة المشرف على الموقع
أين بالضبط أضفت هذه الرموز؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
أحصل على خطأ في الترجمة: خطأ في بناء الجملة في السطر "If Trarget.Column = 6 ثم" عندما أحاول استخدام الكود؟ أي فكرة لماذا؟
تم تصغير هذا التعليق بواسطة المشرف على الموقع
إنه يعمل ولكن عند الخروج من ملف وفتحه مرة أخرى فإنه لا يعمل ... لا يمكن حفظه بتنسيق xls. فقط لأن xlsm. هل هناك أي حل لذلك؟ شكرًا
تم تصغير هذا التعليق بواسطة المشرف على الموقع
مرحبًا ، Marko ، بعد نسخ الرمز ولصقه في المصنف الخاص بك ، عند حفظ الملف ، يجب عليك حفظه بتنسيق Excel Macro-Enabled Workbook ، يرجى المحاولة ، شكرًا لك!
لا توجد تعليقات منشورة هنا حتى الآن
عرض المزيد
اترك تعليقاتك
النشر كضيف
×
قيم المنشور:
0   الشخصيات
المواقع المقترحة