KutoolsforOffice — حل واحد، خمس أدوات قوية.تحقيق المزيد بجهد أقل.

كيف يمكنك حفظ ماكرو VBA الخاص بك واستخدامه في جميع ملفات العمل في Excel؟

المؤلفZhoumandyتاريخ التعديل

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

لقطة شاشة تُظهر مربع حوار الإضافات في Excel

حفظ واستخدام كود VBA في جميع ملفات العمل
طريقة ملف ماكرو الشخصي


حفظ واستخدام كود VBA في جميع ملفات العمل

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

للقيام بذلك، يمكنك تغليف كود VBA الخاص بك في إضافة Excel مخصصة، والتي يمكن تفعيلها في Excel لتوفير وظيفتك المخصصة كدالة متاحة عالميًّا.

اتبع الخطوات التالية:

1. اضغط علىAlt + F11في Excel لفتح نافذة «Microsoft Visual Basic for Applications».

2. في محرر VBA، انقر علىإدراج > وحدة، ثم الصق الماكرو التالي في نافذة الوحدة الجديدة.

كود VBA: تحويل تحويل إلى كلمات

Function NumberstoWords(ByVal MyNumber)
'Update by ExtendofficeDim xStr As StringDim xFNum As IntegerDim xStrPointDim xStrNumberDim xPoint As StringDim xNumber As StringDim xP() As VariantDim xDPDim xCnt As IntegerDim xResult, xT As StringDim xLen As IntegerOn Error Resume NextxP = Array("", "Thousand ", "Million ", "Billion ", "Trillion ", " ", " ", " ", " ")
xNumber = Trim(Str(MyNumber))
xDP = InStr(xNumber, ".")
xPoint = ""
xStrNumber = ""
If xDP >0 ThenxPoint = " point "
xStr = Mid(xNumber, xDP +1)
xStrPoint = Left(xStr, Len(xNumber) - xDP)
For xFNum =1 To Len(xStrPoint)
xStr = Mid(xStrPoint, xFNum,1)
xPoint = xPoint & GetDigits(xStr) & " "
Next xFNumxNumber = Trim(Left(xNumber, xDP -1))
End IfxCnt =0xResult = ""
xT = ""
xLen =0xLen = Int(Len(Str(xNumber)) /3)
If (Len(Str(xNumber)) Mod3) =0 Then xLen = xLen -1Do While xNumber <> ""
If xLen = xCnt ThenxT = GetHundredsDigits(Right(xNumber,3), False)
ElseIf xCnt =0 ThenxT = GetHundredsDigits(Right(xNumber,3), True)
ElsexT = GetHundredsDigits(Right(xNumber,3), False)
End IfEnd IfIf xT <> "" ThenxResult = xT & xP(xCnt) & xResultEnd IfIf Len(xNumber) >3 ThenxNumber = Left(xNumber, Len(xNumber) -3)
ElsexNumber = ""
End IfxCnt = xCnt +1LoopxResult = xResult & xPointNumberstoWords = xResultEnd FunctionFunction GetHundredsDigits(xHDgt, xB As Boolean)
Dim xRStr As StringDim xStrNum As StringDim xStr As StringDim xI As IntegerDim xBB As BooleanxStrNum = xHDgtxRStr = ""
On Error Resume NextxBB = TrueIf Val(xStrNum) =0 Then Exit FunctionxStrNum = Right("000" & xStrNum,3)
xStr = Mid(xStrNum,1,1)
If xStr <> "0" ThenxRStr = GetDigits(Mid(xStrNum,1,1)) & "Hundred "
ElseIf xB ThenxRStr = "and "
xBB = FalseElsexRStr = " "
xBB = FalseEnd IfEnd IfIf Mid(xStrNum,2,2) <> "00" ThenxRStr = xRStr & GetTenDigits(Mid(xStrNum,2,2), xBB)
End IfGetHundredsDigits = xRStrEnd FunctionFunction GetTenDigits(xTDgt, xB As Boolean)
Dim xStr As StringDim xI As IntegerDim xArr_1() As VariantDim xArr_2() As VariantDim xT As BooleanxArr_1 = Array("Ten ", "Eleven ", "Twelve ", "Thirteen ", "Fourteen ", "Fifteen ", "Sixteen ", "Seventeen ", "Eighteen ", "Nineteen ")
xArr_2 = Array("", "", "Twenty ", "Thirty ", "Forty ", "Fifty ", "Sixty ", "Seventy ", "Eighty ", "Ninety ")
xStr = ""
xT = TrueOn Error Resume NextIf Val(Left(xTDgt,1)) =1 ThenxI = Val(Right(xTDgt,1))
If xB Then xStr = "and "
xStr = xStr & xArr_1(xI)
ElsexI = Val(Left(xTDgt,1))
If Val(Left(xTDgt,1)) >1 ThenIf xB Then xStr = "and "
xStr = xStr & xArr_2(Val(Left(xTDgt,1)))
xT = FalseEnd IfIf xStr = "" ThenIf xB ThenxStr = "and "
End IfEnd IfIf Right(xTDgt,1) <> "0" ThenxStr = xStr & GetDigits(Right(xTDgt,1))
End IfEnd IfGetTenDigits = xStrEnd FunctionFunction GetDigits(xDgt)
Dim xStr As StringDim xArr_1() As VariantxArr_1 = Array("Zero ", "One ", "Two ", "Three ", "Four ", "Five ", "Six ", "Seven ", "Eight ", "Nine ")
xStr = ""
On Error Resume NextxStr = xArr_1(Val(xDgt))
GetDigits = xStrEnd Function

3. الآن، انقر على أيقونة «حفظ» في الزاوية العلوية اليسرى من النافذة أو اضغط ببساطة علىCtrl + Sلفتح مربع حوار «حفظ باسم».
لقطة شاشة تُظهر خيار الحفظ في نافذة VBA

4. في نافذة «حفظ باسم»، أدخل اسم الملف المطلوب في حقل «اسم الملف». ومن قائمة «تحديد تنسيق الحفظ» المنسدلة، تأكد من اختيارإضافة Excel (*.xlam).
لقطة شاشة تُظهر مربع حوار الحفظ باسم مع تحديد نوع الحفظ كـ Excel Add-in (*.xlam)

5. انقر على زر «حفظ» لتخزين ملف العمل الخاص بك كملف إضافة Excel، مما يُنشئ إضافة قابلة لإعادة الاستخدام يمكنك تفعيلها في أي وقت مع أي ملف عمل.
لقطة شاشة تُظهر المصنف المحفوظ كإضافة Excel

6. بعد الحفظ، عُد إلى Excel وأغلق ملف العمل الذي قمتَ للتو بتحويله إلى إضافة.

7. افتح ملف عمل جديدًا أو موجودًا ترغب في استخدام الماكرو فيه، ثم أدخل الصيغة المخصصة في الخلية المناسبة (مثل B2):

=NumberstoWords(A2)
ملاحظة: قد يظهر خطأ "#NAME؟" في هذه المرحلة. وهذا متوقع نظرًا لأن الإضافة التي تحتوي على دالة الماكرو لم تُحمَّل بعد في Excel على مستوى النظام بأكمله. اتبع الخطوات أدناه لتمكين الماكرو الخاص بك عبر جميع المصنفات.
لقطة شاشة لخطأ #NAME? قبل تطبيق ماكرو VBA المحفوظ

8. انتقل إلى علامة التبويبالمطور، ثم انقر على زرإضافات Excelفي مجموعة الإضافات.
لقطة شاشة تُظهر خيار الإضافات ضمن علامة التبويب "المطور" في Excel

9. في مربع حوار الإضافات الذي يظهر، اختراستعراض.
لقطة شاشة لمربع حوار الإضافات في Excel

10. ابحث عن ملف الإضافة الذي حفظته سابقًا، وحدّده، ثم انقر علىموافق.
لقطة شاشة تُظهر اختيار ملف إضافة مخصّص في Excel

11. يجب أن تظهر الآن إضافتك المخصصة، مثل «إضافة تحويل الرقم إلى كلمات»، في قائمة الإضافات. تأكد من تحديدها وانقر علىموافقلتفعيلها.
لقطة شاشة تُظهر الإضافة المخصصة في مربع حوار الإضافات في Excel

12. الآن، أعد إدخال الدالة المخصصة في الخلية المستهدفة (مثل B2)، ثم اضغط علىEnter. سترى أن الصيغة تُرجع الكلمات الإنجليزية الصحيحة للرقم.

=NumberstoWords(A2)

13. لتطبيق صيغة التحويل بسرعة على أرقام متعددة، اسحب مقبض الملء التلقائي للخلية لأسفل لنسخ الدالة إلى الخلايا الأخرى.

لقطة شاشة تُظهر النتيجة النهائية للأرقام المحولة إلى كلمات

نصائح وملاحظات:

  • يتيح لك حفظ ماكرو الخاص بك كإضافة استخدام نفس الدوال المخصصة أو الكود أو عمليات التشغيل الآلي عبر جميع ملفات العمل، مما يوفّر وقتك ويضمن اتساقًا مثاليًّا.
  • إذا تم إغلاق Excel أو تعطيل الإضافة لاحقًا، فقد تُظهر الدوال من الإضافة مؤقتًا «#NAME؟» حتى تُحمَّل الإضافة مجددًا. ولتجنب أي التباس، تأكد دائمًا من تفعيل الإضافة في «مدير الإضافات» كلما احتجت إليها.
  • قد لا يظهر علامة التبويب «المطور» تلقائيًا لبعض المستخدمين. ولتمكينها، انقر بزر الماوس الأيمن على الشريط، واختر «تخصيص الشريط»، ثم فعّل خيار «المطور».
  • من الممارسات الجيدة تخزين الإضافات في مجلد دائم لتجنب فقدان المراجع عند نقل الملفات أو إعادة تسميتها.

إذا كنت تفضل تشغيل الكود يدويًّا، فهذا ممكن أيضًا وأحيانًا يكون مفيدًا أثناء تصحيح الأخطاء أو للاستخدام العرضي:

  1. يمكنك تعيين ماكرو إلى شريط أدوات الوصول السريع لتنفيذه بنقرة واحدة في أي ملف عمل مرئي. للقيام بذلك، انقر بزر الماوس الأيمن على شريط أدوات الوصول السريع، واختر «تخصيص شريط أدوات الوصول السريع»، ثم أضف ماكرو الخاص بك.
    لقطة شاشة تُظهر كيفية إضافة ماكرو VBA إلى شريط أدوات الوصول السريع
  2. يمكنك أيضًا الضغط علىAlt + F11 لفتح محرر VBA، ثم تحديد ماكرو الخاص بك يدويًّا والضغط علىF5 لتشغيل الكود حسب الحاجة.

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


طريقة ملف ماكرو الشخصي

طريقة أخرى عملية للغاية لضمان أن يكون ماكروك المفضل أو الأكثر استخدامًا جاهزًا في كل جلسة Excel، بغض النظر عن ملف العمل المفتوح، هي استخدام ملف الماكرو الشخصي (PERSONAL.XLSB). هذا ملف Excel خاص ومُخفي يتم تحميله تلقائيًّا في كل مرة تُشغِّل فيها Excel، مما يجعل أي ماكرو محفوظ بداخله متاحًا عبر جميع ملفات العمل المفتوحة.

السيناريوهات المناسبة:مثالية للأتمتة الشخصية، أو نصوص التنسيق الروتينية، أو دوال الأدوات التي لا تحتاج إلى مشاركتها كإضافات رسمية في Excel. تكون الماكرو المحفوظة في PERSONAL.XLSB متاحة على جهاز الكمبيوتر الخاص بك بغض النظر عن الملف المفتوح.

المزايا:تتوفر وحدات الماكرو عالميًا لملف تعريف Excel المحلي الخاص بك، ولا تتطلب تثبيت أي إضافات أو ملفات خارجية.
العيوب:يمكن استخدام الوحدات المخزَّنة بهذه الطريقة فقط على الحاسوب والحساب الذي يحتوي على ملف PERSONAL.XLSB. وللمشاركة مع الآخرين، يلزمك تصدير الوحدات واستيرادها يدويًّا.

  • لاستخدام هذه الطريقة، عليك أولًا تسجيل ماكرو أو إنشاؤه، ثم التأكد من حفظه في ملف الماكرو الشخصي الخاص بك.

اتبع الخطوات التالية:

  1. افتح Excel. في علامة التبويبعرض، انقر علىماكرو، ثم علىتسجيل ماكرو.
  2. في مربع الحوار، ضمن «تخزين الماكرو في»، اخترملف ماكرو الشخصي. ثم أكمل التسجيل (يمكنك إيقافه فورًا إذا لم تكن هناك حاجة إليه).
  3. اضغط علىAlt + F11 للدخول إلى محرر VBA، حيث ستجد مشروعًا باسم PERSONAL.XLSB. هنا، يمكنك إدراج وحدة جديدة أو لصق كود الماكرو المطلوب.
  4. احفظ التغييرات. يقوم Excel تلقائيًّا بإنشاء ملف PERSONAL.XLSB والحفاظ عليه في مجلد بدء التشغيل الخاص به.
  5. يمكنك بعد ذلك تشغيل الماكرو المحفوظ في PERSONAL.XLSB من خلال مربع حوارماكرو (Alt + F8)، أو تعيينه إلى الشريط أو أزرار شريط الأدوات، أو استدعائه من VBA.

استكشاف الأخطاء وإصلاحها والصيانة:إذا لم تكن وحدات الماكرو في ملف PERSONAL.XLSB متاحة، فتحقق أولًا مما إذا كان Excel يفتح في الوضع الآمن أو كانت إعدادات أمان الماكرو مضبوطة على «تعطيل جميع الماكرو». علاوةً على ذلك، يُعدّ ملف PERSONAL.XLSB مخفيًّا افتراضيًّا؛ لذا إذا قمت عن طريق الخطأ بإغلاقه دون حفظه أو حذفته، فقد تحتاج إلى إعادة تسجيل ماكرو لإعادة إنشائه.

تلميح:احفظ نسخة احتياطية من ملف PERSONAL.XLSB بانتظام. يمكنك العثور عليه في مجلد ملف التعريف الخاص بنظامك، وغالبًا يكون في:
C:\Users\[YourUserName]\AppData\Roaming\Microsoft\Excel\XLSTART\PERSONAL.XLSB

عمليات أخرى (مقالات)

كود VBA لإدراج قائمة بجميع الإضافات في Excel
في Excel، قد تضيف أو تُدرِج بعض الإضافات لتحسين التعامل مع البيانات. وكما تعلم، يمكنك الانتقال إلى نافذة الخيارات لعرض جميع الإضافات، ولكن هل هناك طريقة لإدراج قائمة بها مباشرةً في ورقة العمل؟ في هذا البرنامج التعليمي، نقدّم لك كود VBA الذي يُدرج قائمة بجميع الإضافات في Excel!

كيفية تشغيل ماكرو VBA عند فتح أو إغلاق ملف العمل؟
في هذه المقالة، سأوضح لك كيفية تشغيل كود VBA تلقائيًا كلما تم فتح ملف العمل أو إغلاقه.

كيفية حماية أو قفل كود VBA في Excel؟
تمامًا كما يمكنك استخدام كلمة مرور لحماية ملفات العمل وأوراق العمل، يمكنك أيضًا تعيين كلمة مرور لحماية ماكرو Excel.

كيفية استخدام تأخير زمني بعد تشغيل ماكرو VBA في Excel؟
قد تحتاج في بعض الأحيان إلى إضافة تأخير زمني قبل تنفيذ ماكرو VBA في Excel. على سبيل المثال، عند النقر لتشغيل ماكرو معيّن، يبدأ تأثيره بعد مرور 10 ثوانٍ. تُظهر لك هذه المقالة كيفية تحقيق ذلك بسهولة.

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

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

عزِّز مهاراتك في 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.

ExcelWordOutlookTabsPowerPoint
  • حزمة شاملة واحدة— إضافات Excel وWord وOutlook وPowerPoint بالإضافة إلى Office Tab Pro
  • برنامج تثبيت واحد، ترخيص واحد— الإعداد خلال دقائق (جاهز لـ MSI)
  • يعمل بشكل أفضل معًا— إنتاجية ميسَّرة عبر تطبيقات Office
  • تجربة مجانية لمدة 30 يومًا بكامل الميزات— بدون تسجيل، بدون بطاقة ائتمان
  • أفضل قيمة— وفِّر مقارنةً بشراء الإضافات بشكل منفصل