جدول المحتويات
أحد الأخطاء الأكثر شيوعًا التي نواجهها أثناء العمل مع VBA في Excel هو أن النوع المحدد من قبل المستخدم غير محدد. في هذه المقالة ، سأوضح لك سبب حدوث هذا الخطأ وكيفية حل هذا الخطأ.
تنزيل Practice Workbook
تنزيل هذا المصنف التدريبي للتمرين أثناء يقرأون هذه المقالة.
النوع المحدد من قبل المستخدم غير محدد. xlsm
2 الأسباب والحلول لـ من تحديد المستخدم اكتب غير محدد في Excel VBA
هناك 2 مشكلات رئيسية وراء هذا الخطأ الذي يتم مواجهته بشكل متكرر في Excel VBA . دعنا نستكشفها بالتفصيل ونكتشف طرق حلها.
1. خطأ إملائي أثناء تعريف المتغيرات
هذا هو السبب الرئيسي وراء هذا الخطأ. في معظم الأحيان ، الخطأ "النوع المحدد من قبل المستخدم غير محدد" ناتج عن خطأ إملائي أثناء التصريح عن المتغيرات.
انظر إلى سطور الرموز التالية.
4400
إذا قمت بتشغيل هذا الرمز ، فستتلقى مربع خطأ لإعلامك بوجود الخطأ "النوع المحدد من قبل المستخدم غير محدد". إلى جانب ذلك ، ستجد السطر الثاني من الكود مظللاً باللون الأزرق ، حيث كتبت “strng” بدلاً من “string” .
أتمنى أن تفهم هذه النقطة. VBA لم يتمكن من التعرف على نوع المتغير “strng” ، ولهذا السبب اعتبره نوع متغير جديد واعتقد أنك قمت بتعريفه في مكان ما. ولكن عندماوجدت أنك لم تعلنه في أي مكان ، فقد حدث خطأ.
لذلك ، أثناء تشغيل أكواد VBA بسيطة ، إذا واجهت هذا الخطأ على أي حال ، فتحقق أولاً من جميع هجاء أنواع المتغيرات الخاصة بك.
2. عدم وجود مرجع صحيح
وهذا سبب آخر وراء هذا الخطأ. هذا هو عدم وجود مراجع مناسبة. في بعض الأحيان نستخدم بعض الكائنات في أكوادنا التي تحتاج إلى مراجع مناسبة من المربع المرجعي Visual Basic . بخلاف ذلك ، لا يتعرف VBA على الكائن.
انظر إلى رمز VBA التالي.
4552
قم بتشغيل هذا الرمز. ستحصل على نفس الخطأ القديم "النوع المحدد من قبل المستخدم غير محدد" ، مع تمييز كائن القاموس . هذا لأن VBA لم يتمكن من التعرف على كائن القاموس ، واعتبره متغيرًا محددًا بواسطة المستخدم ، والذي لم يتم تعريفه عن طريق الخطأ.
الآن السؤال الأكبر هو كيفية حل هذا الخطأ؟ سهل. توجد طرق لحل هذا الخطأ 2 .
الحل 1: التحقق من مرجع المتطلبات المسبقة من المربع المرجعي لـ Visual Box
هذا هو أذكى طريقة لحل هذه المشكلة. انتقل إلى أدوات & GT. زر المراجع في شريط Visual Basic . انقر فوق المراجع .
سيتم فتح مربع حوار يسمى المراجع . قم بالتمرير وابحث عن Microsoft Scripting Runtime (هذا يعتمد على الكائن الذي تستخدمه. القاموس يحتاج الكائن إلى التعرف على وقت تشغيل البرمجة النصية لـ Microsoft . لذلك ، أثناء استخدام كائن في كود VBA ، يجب أن تعرف متطلبه الأساسي ليتم التعرف عليه بواسطة VBA. قم بزيارة هذا الرابط لمزيد من المعلومات.). تحقق منه.
عد الآن وقم بتشغيل الكود. لن تحصل على أي أخطاء. لأن VBA يمكنه التعرف على كائن القاموس هذه المرة.
⧪ الحل 2: إعلانه ككائن نقي بدلاً من كائن محدد
هناك طريقة أخرى لحل هذه المشكلة. يمكنك إعلان الكائن ككائن خالص ، بدلاً من كائن قاموس .
لاحظ أسطر الرموز التالية.
9690
لقد أعلنت هنا المتغير MyDictionary ككائن بسيط ، وليس قاموس . الآن إذا قمت بتشغيل هذا الرمز ، فلن تحصل على أي خطأ.