Advertisement
YasserKhalil2019

Toggle Multiple Values Worksheet BeforeDouble Click Event

May 21st, 2023
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.44 KB | None | 0 0
  1. Rem الكود يوضع في حدث ورقة العمل حيث تقوم بالنقر كليك يمين على اسم ورقة العمل
  2. Rem View Code
  3. Rem تقوم بلصق الكود في حدث ورقة العمل
  4. Rem -------------------------------------------------------------------------
  5. Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  6. Rem الإعلان عن المتغيرات
  7. Dim v, e, rng As Range
  8.  
  9. Rem جملة شرطية لتحديد الخلية الهدف المراد التعامل معها
  10. If Target.Address = "$D$1" Then
  11.  
  12. Rem هذا السطر يلغي خاصية النقر المزدوج في الخلية الهدف
  13. Rem وتهدف خاصية النقر المزدوج في أي خلية تحرير محتوى الخلية
  14. Cancel = True
  15.  
  16. Rem تحديد الخلية التي سيتم التأثير فيها بمجرد النقر المزدوج في الخلية الهدف
  17. Set rng = Range("D3")
  18.  
  19. Rem مصفوفة أحادية الأبعاد بالقيم التي سيتم التعامل معها بالتناوب
  20. v = Array("ABC", "DEF", "GHI", "JKL", Empty)
  21.  
  22. Rem جملة شرطية تختبر الخلية المراد التأثير فيها فإذا كانت الخلية فارغة
  23. If rng.Value = Empty Then
  24.  
  25. Rem يتم تعيين القيمة صفر للمتغير
  26. e = 0
  27.  
  28. Rem أما إذا لم تكن الخلية المراد التأثير فيها فارغة
  29. Else
  30.  
  31. Rem يتم البحث عن قيمة الخلية في المصفوفة أحادية الأبعاد لمعرفة رقم الفهرس
  32. e = Application.Match(rng.Value, v, 0)
  33.  
  34. Rem نهاية الجملة الشرطية
  35. End If
  36.  
  37. Rem إذا كانت الخلية المراد التأثير فيها تحتوي على قيمة غير مرغوب فيها
  38. Rem يتم مسح محتويات الخلية المراد التأثير فيها
  39. Rem أما إذا لم يكن هناك خطأ يتم جلب القيمة الجديدة حسب رقم الفهرس داخل المصفوفة
  40. If Not IsError(e) Then rng.Value = v(e) Else rng.Value = Empty
  41.  
  42. Rem نهاية الجملة الشرطية التي تحدد الخلية الهدف
  43. End If
  44. End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement