انتقل إلى المحتوى الرئيسي

كيفية تشغيل الماكرو بناءً على القيمة المحددة من القائمة المنسدلة في Excel؟

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

قم بتشغيل الماكرو بناءً على القيمة المحددة من القائمة المنسدلة برمز VBA


السهم الأزرق الحق فقاعة قم بتشغيل الماكرو بناءً على القيمة المحددة من القائمة المنسدلة برمز VBA

لا توجد طريقة مباشرة لإنهاء هذه المهمة ، ولكن يمكن أن يساعدك رمز VBA التالي ، يرجى القيام بذلك على النحو التالي:

1. أولاً ، قم بإنشاء قائمة منسدلة حسب حاجتك ، انظر الصورة:

doc قم بتشغيل الماكرو من القائمة المنسدلة 1

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

كود فبا: قم بتشغيل الماكرو بناءً على القيمة المحددة من القائمة المنسدلة:

Private Sub Worksheet_Change(ByVal Target As Range)
	If Not Intersect(Target, Range("E1")) Is Nothing Then
	    Select Case Range("E1")
	        Case "Insert Blank rows": Macro1
	        Case "Hide All Sheets": Macro2
            Case "Convert to Date": Macro3
	    End Select
	End If
	End Sub

doc قم بتشغيل الماكرو من القائمة المنسدلة 2

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

3. ثم احفظ وأغلق نافذة التعليمات البرمجية هذه ، الآن ، عند تحديد عنصر إدراج صفوف فارغة من القائمة المنسدلة ، سيتم تشغيل Macro1 ، وهكذا ...


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

كيفية تشغيل الماكرو عندما تتغير قيمة الخلية في إكسيل؟

كيفية تشغيل الماكرو بناءً على قيمة الخلية في Excel؟

كيفية تشغيل الماكرو تلقائيًا قبل الطباعة في Excel؟

كيفية تشغيل الماكرو بالنقر فوق الارتباطات التشعبية في Excel؟

كيف يتم تشغيل الماكرو عند تحديد الورقة من مصنف؟

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

🤖 مساعد Kutools AI: إحداث ثورة في تحليل البيانات على أساس: التنفيذ الذكي   |  إنشاء التعليمات البرمجية  |  إنشاء صيغ مخصصة  |  تحليل البيانات وإنشاء الرسوم البيانية  |  استدعاء وظائف Kutools...
الميزات الشعبية: البحث عن التكرارات أو تمييزها أو تحديدها   |  حذف الصفوف الفارغة   |  دمج الأعمدة أو الخلايا دون فقدان البيانات   |   جولة بدون صيغة 
سوبر بحث: معايير متعددة VLookup    VLookup ذات القيمة المتعددة  |   VLookup عبر أوراق متعددة   |   بحث غامض ....
قائمة منسدلة متقدمة: إنشاء القائمة المنسدلة بسرعة   |  القائمة المنسدلة التابعة   |  قائمة منسدلة متعددة التحديد ....
مدير العمود: إضافة عدد محدد من الأعمدة  |  نقل الأعمدة  |  تبديل حالة رؤية الأعمدة المخفية  |  مقارنة النطاقات والأعمدة 
الميزات المميزة: التركيز على الشبكة   |  عرض تصميم   |   شريط الفورمولا الكبير    مدير المصنفات والأوراق   |  مكتبة الموارد (النص السيارات)   |  منتقي التاريخ   |  اجمع أوراق العمل   |  تشفير/فك تشفير الخلايا    إرسال رسائل البريد الإلكتروني عن طريق القائمة   |  سوبر تصفية   |   مرشح خاص (تصفية غامق / مائل / يتوسطه خط ...) ...
أفضل 15 مجموعة أدوات12 نص الأدوات (إضافة نص, إزالة الأحرف، ...)   |   +50 رسم الأنواع (مخطط جانت، ...)   |   40+ عملي الصيغ (احسب العمر على أساس تاريخ الميلاد، ...)   |   19 إدخال الأدوات (أدخل رمز الاستجابة السريعة, إدراج صورة من المسار، ...)   |   12 تحويل الأدوات (أرقام إلى كلمات, نتيجة تحويل عملة، ...)   |   7 دمج وتقسيم الأدوات (الجمع بين الصفوف المتقدمة, تقسيم الخلايا، ...)   |   ... و اكثر

عزز مهاراتك في Excel باستخدام Kutools for Excel، واختبر كفاءة لم يسبق لها مثيل. يقدم Kutools for Excel أكثر من 300 ميزة متقدمة لتعزيز الإنتاجية وتوفير الوقت.  انقر هنا للحصول على الميزة التي تحتاجها أكثر...

الوصف


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

  • تمكين التحرير والقراءة المبوبة في Word و Excel و PowerPointوالناشر والوصول و Visio والمشروع.
  • فتح وإنشاء مستندات متعددة في علامات تبويب جديدة من نفس النافذة ، بدلاً من النوافذ الجديدة.
  • يزيد من إنتاجيتك بنسبة 50٪ ، ويقلل مئات النقرات بالماوس كل يوم!
Comments (7)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Codes help me and work very fine. Thanks a lot. Is there any way to get case value in a variable and then compare?
with best regards
This comment was minimized by the moderator on the site
A co jeśli potrzebuję aby po uruchomieniu makra wszystkie listy rozwijane ustawiły się na jeden z wyborów z listy? W sumie odwrotnie do tego co jest w poście. Czy istnieje na to łatwiejszy sposób?
This comment was minimized by the moderator on the site


FIRST CODE WORKING PERFECTLYPrivate Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("D1")) Is Nothing Then
Select Case Range("D1")
         Case "0.5": Half
         Case "1": One
         Case "1.25": OneTwentyFive
End Select
End If
End Sub
SECOND CODE NOT WORKING (plz correct the below)
Private Sub Change(ByVal Target As Range)
If Not Intersect(Target, Range("D2")) Is Nothing Then
Select Case Range("D2")
         Case "9.53": ninepointfivethree
End Select
End If
End Sub
This comment was minimized by the moderator on the site
Good morning. Would you be able to do Macro from drop down menu for next: To run macro and save separated sheets for each item from Dropdown menu? In your case should be looking like this:
1. You run macro and then you have separated sheet with values for "Insert blank rows" saved in designated folder
2. Separated sheet with values for " Hide all sheets:" saved in designated folder
3. Separated sheet with values for " Convert to date" saved in designated folder.
4. Macro is done now


Mainly i am able do set all of this except that macro automatically change selection from drop down menu ?


Thanks


Ivan
This comment was minimized by the moderator on the site
Hola!

Al aplicarlo me sale un error de compilación: La declaración del procedimiento no coincide con la descripción del evento o el procedimiento que tiene el mismo nombre. Que quiere decir eso? que debo cambiar/arreglar? Gracias
This comment was minimized by the moderator on the site
Is there a way to use VBA code to do this in Access? Thanks
This comment was minimized by the moderator on the site
efectivamente funciona pero quiero aplicarlo en varias celdas, que variable debo cambiar?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations