اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

الردود الموصى بها

قام بنشر (معدل)

استاذ @احمد العدوى  

الرسالة التي تظهر في الصورة تقول:

"يتبيّن عن التعبير عند الفتح الذي أدخلته كإعداد خاصية الحدث الخطأ التالي: Return without GoSub."

المعنى:
يوجد خطأ في كود VBA داخل أحد أحداث النموذج أو التقرير (غالبًا في حدث On Open أو On Close أو On Load)، حيث يحتوي الكود على عبارة Return بدون أن يكون هناك أمر GoSub قبلها.

1- في أحد أكواد الأحداث، هناك سطر مثل:

Return
  • لكنه غير تابع لأي كتلة GoSub ... Return.
    وهذا غير مسموح في VBA (يُستخدم GoSub وReturn فقط معًا داخل نفس الروتين).

  • 2-أو قد يكون حدث النموذج (مثل On Close أو On Load) يشير إلى ماكرو أو دالة لم تعد موجودة أو تمت إعادة تسميتها.

  • أحيانًا يظهر هذا الخطأ إذا تم كتابة اسم الماكرو أو الدالة في خاصية الحدث (Event Property) خطأ، مثل:

  • =MyMacro()

    بينما الماكرو نفسه تم حذفه أو تغيّر اسمه.

  • الحلول المقترحة خطوة بخطوة:

  • افتح النموذج (أو التقرير) الذي يظهر عند إغلاق الملف أو فتحه (غالبًا Form_Main أو Form_Login).

  • من طريقة العرض التصميم (Design View)، حدد النموذج واضغط F4 لفتح "ورقة الخصائص (Property Sheet)".

  • راجع الخصائص التالية في تبويب حدث (Event):

    • عند الفتح (On Open)

    • عند التحميل (On Load)

    • عند الإغلاق (On Close)

    • عند إلغاء التحميل (On Unload)


  • 🔧 مثال توضيحي:

  • إذا وجدت أن هناك اسم دالة أو ماكرو مكتوب فيها (مثل =MyFunction() أو MyMacro😞

    • اضغط على الزر […] بجانبها، وافتح محرر الكود، وتأكد أن الكود موجود وسليم.

    • إذا لم تكن تستخدم هذا الحدث، احذفه (اجعلها فارغة).

  • ابحث في الكود داخل النموذج أو الماكرو عن أي سطر فيه Return بدون GoSub.
    إما احذفه أو استبدله بـ Exit Sub أو Exit Function حسب السياق.

  • 🔧 مثال توضيحي:

    الكود الخطأ:

  • Private Sub Form_Close()
        If Me.Dirty Then
            Me.Dirty = False
        End If
        Return
    End Sub

    التصحيح:

  • Private Sub Form_Close()
        If Me.Dirty Then
            Me.Dirty = False
        End If
        Exit Sub
    End Sub

    إذا أردت، أرسل لي الكود الموجود في حدث Form_Close أو Form_Unload من النموذج الذي يظهر عند الإغلاق، وسأحدد لك السطر المسبب للخطأ بالضبط.:fff:

 

تم تعديل بواسطه kkhalifa1960

انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.

سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information