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

إذا كان مصنفك يحتوي على وحدات ماكرو متعددة بلغة VBA، فستحتاج إلى فتح نافذة VBA واختيار الماكرو المطلوب عند رغبتك في تشغيل الكود. في هذه المقالة، سأشرح لك كيفية تشغيل الوحدات الماكرو مباشرةً من قائمة النقر بزر الماوس الأيمن لتعزيز كفاءة عملك، كما هو موضح في لقطة الشاشة على اليسار.
تشغيل وحدات ماكرو متعددة من قائمة النقر بزر الماوس الأيمن باستخدام أكواد VBA
تشغيل وحدات ماكرو متعددة من قائمة النقر بزر الماوس الأيمن باستخدام أكواد VBA
لتشغيل أكواد الماكرو الموجودة داخل مصنف من قائمة النقر بزر الماوس الأيمن، قد تساعدك الخطوات التالية؛ يُرجى اتباع ما يلي:
1. اضغط مع الاستمرار على مفتاحَيAlt + F11 لفتح نافذةمايكروسوفت فيجوال بيسيك للتطبيقات.
2. بعد ذلك، انقر نقرًا مزدوجًا علىThisWorkbook في جزءالمشروععلى اليسار، ثم انسخ والصق كود VBA أدناه في الوحدة النمطية الفارغة.
Private Sub Workbook_Open()
Run "LoadMacro"
End Sub
Private Sub Workbook_Activate()
Run "LoadMacro"
End Sub
Private Sub Workbook_Deactivate()
Run "ClearMacro"
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Run "ClearMacro"
ThisWorkbook.Save
End Sub

3. لا تزال في نافذةمايكروسوفت فيجوال بيسيك للتطبيقات، يُرجى النقر علىإدراج > وحدة نمطية، ثم لصق الكود التالي في هذه الوحدة النمطية.
Private Sub LoadMacro()
Dim xArrMenu As Variant
Dim xStrLine, xSreBtnName As String
Dim xObjCBCF, xObjCntrAll As CommandBarControl
Dim xObjCBCs As CommandBars
Dim xObjCBBtn As CommandBarButton
Dim xIntLine, xFNum As Integer
Dim xObjComponent As Object
Run "ClearMacro"
Set xObjCBCF = Application.CommandBars("Cell").Controls.Add(msoControlPopup, before:=1)
xObjCBCF.Caption = " Run Macro "
xObjCBCF.BeginGroup = False
For Each xObjComponent In ActiveWorkbook.VBProject.VBComponents
If xObjComponent.Type = 1 Then
For xIntLine = 1 To xObjComponent.CodeModule.CountOfLines
xStrLine = xObjComponent.CodeModule.Lines(xIntLine, 1)
xStrLine = Trim(xStrLine)
If (InStr(xStrLine, "()") > 0) And (Left(xStrLine, 11) = "Private Sub" Or Left(xStrLine, 3) = "Sub") Then
xSreBtnName = ""
If "Private Sub" = Left(xStrLine, 11) Then
xSreBtnName = Trim(Mid(xStrLine, 12, InStr(xStrLine, "()") - 12))
ElseIf "Sub" = Left(xStrLine, 3) Then
xSreBtnName = Trim(Mid(xStrLine, 4, InStr(xStrLine, "()") - 4))
End If
If xSreBtnName <> "" And xSreBtnName <> "RightClickReset" And xSreBtnName <> "LoadMacro" And xSreBtnName <> "ActionMacro" Then
Set xObjCBBtn = xObjCBCF.Controls.Add
With xObjCBBtn
.FaceId = 186
.Style = msoButtonIconAndCaption
.Caption = xSreBtnName
.OnAction = "ActionMacro"
End With
End If
End If
Next xIntLine
End If
Next xObjComponent
End Sub
Private Sub ClearMacro()
On Error Resume Next
CommandBars("Cell").Controls(" Run Macro ").Delete
Err.Clear
CommandBars("Cell").Reset
End Sub
Private Sub ActionMacro()
On Error GoTo Err1
With Application
Run .CommandBars("Cell").Controls(1).Controls(.Caller(1)).Caption
End With
Exit Sub
Err1:
MsgBox "Invalid"
End Sub

4. بعد لصق الأكواد، انقر علىأدوات > المراجع، وستظهر نافذة الحوارالمراجع - VBAProject. بعد ذلك، حدد خيارمايكروسوفت فيجوال بيسيك للتطبيقات Extensibility 5.3من قائمةالمراجع المتاحة. انظر لقطة الشاشة:

5. بعد ذلك، انقر علىموافقللخروج من مربع الحوار. الآن، يجب عليك حفظ هذا المصنف بصيغةمصنف Excel الممكن للماكرو. انظر لقطة الشاشة:

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

7. بعد ذلك، يمكنك تشغيل الكود بنقرة واحدة فقط!
أفضل أدوات الإنتاجية لمكتبتك
عزِّز مهاراتك في Excel باستخدام Kutools لـ Excel، وعايش الكفاءة كما لم تفعل من قبل.يقدّم Kutools لـ Excel أكثر من 300 ميزة متقدمة لتعزيز الإنتاجية ووقت الحفظ.انقر هنا للحصول على الميزة التي تحتاجها أكثر من غيرها...
يجلب Office Tab واجهة ذات علامات تبويب إلى Office، ويجعل عملك أسهل بكثير
- تمكّن من التحرير والقراءة باستخدام علامات التبويب في Word وExcel وPowerPoint، وPublisher وAccess وVisio وProject.
- افتح وأنشئ مستندات متعددة في علامات تبويب جديدة داخل النافذة نفسها، بدلاً من فتح نوافذ جديدة.
- يزيد إنتاجيتك بنسبة 50% ويوفّر لك مئات نقرات الفأرة كل يوم!
جميع الإضافات من Kutools في برنامج تثبيت واحد!
Kutools for Office حزمةٌ تحتوي على إضافاتٍ مخصصة لتطبيقات Excel وWord وOutlook وPowerPoint، إلى جانب Office Tab Pro، مما يجعلها الخيار المثالي للفِرق التي تعمل عبر تطبيقات Office.
- حزمة شاملة واحدة— إضافات Excel وWord وOutlook وPowerPoint بالإضافة إلى Office Tab Pro
- برنامج تثبيت واحد، ترخيص واحد— الإعداد خلال دقائق (جاهز لـ MSI)
- يعمل بشكل أفضل معًا— إنتاجية ميسَّرة عبر تطبيقات Office
- تجربة مجانية لمدة 30 يومًا بكامل الميزات— بدون تسجيل، بدون بطاقة ائتمان
- أفضل قيمة— وفِّر مقارنةً بشراء الإضافات بشكل منفصل