تتلقي رسالة الخطا "الحد السفلي من النطاق" عند استخدام هباجيبريكس أو فباجيبريكس. موقع في Excel


الأعراض


عند استخدام خاصيه الموقع أو الموقع. عنوان فواصل الصفحات العمودية أو الافقيه في ماكرو Microsoft Visual Basic for Applications ، قد تتلقي رسالة الخطا التالية:
خطا وقت التشغيل ' 9 ': حرف خارج النطاق

السبب


قد تحدث هذه المشكلة إذا تحققت الشروط التالية:
  • تكون الخلية النشطة فوق فاصل الصفحات الأفقي أو إلى يمين فاصل الصفحات العمودي المشار اليه بواسطة الفهرس هباجيبريكس أو فباجيبريكس .
  • يكون موقع فاصل الصفحات العمودي أو الأفقي خارج الشاشة إلى يسار النافذة المرئية أو أسفل النافذة المرئية في المصنف.
  • يمكنك استخدام ماكرو Visual Basic for Applications في Microsoft Excel بطريقه مماثله للتعليمات البرمجية التالية:
    Sub TestHorizontal()    ActiveSheet.Range("CZ1000").Value = 1    MsgBox ActiveSheet.HPageBreaks.Count    MsgBox ActiveSheet.HPageBreaks(1).Location.Address    MsgBox ActiveSheet.HPageBreaks(2).Location.AddressEnd Sub Sub TestVertical()    ActiveSheet.Range("CZ1000").Value = 1    MsgBox ActiveSheet.VPageBreaks.Count    MsgBox ActiveSheet.VPageBreaks(1).Location.Address    MsgBox ActiveSheet.VPageBreaks(2).Location.Address    MsgBox ActiveSheet.VPageBreaks(3).Location.AddressEnd Sub

الحل البديل


توفر Microsoft الامثله علي الرسومات التوضيحية فقط ، بدون ضمان اما التعبير عنها أو تضمينها. يتضمن هذا ، ولكنه غير محدود بالضمانات الضمنية لخاص أو ملاءمة لغرض معين. تفترض هذه المقالة انك تعرف لغة البرمجة التي يتم شرحها والاداات التي يتم استخدامها لإنشاء الإجراءات وتصحيحها. يمكن ان يساعدك مهندسو الدعم في Microsoft علي شرح وظائف اجراء معين ، ولكنها لن تعدل هذه الامثله لتوفير وظائف اضافيه أو إنشاء إجراءات تفي بمتطلباتك الخاصة. لمنع حدوث هذه المشكلة ، أضف التعليمات البرمجية لتحديد الخلية الاخيره المستخدمة في ورقه العمل قبل استخدام التعليمات البرمجية لخاصيه الموقع لفواصل الصفحات الافقيه أو العمودية. علي سبيل المثال ، استخدم التعليمات البرمجية التالية لتحديد الخلية الاخيره ، واستخدم خاصيه الموقع ، ثم أعد تحديد الخلية النشطة التالية:
Sub CheckPageBreaks()    'Set object "currcell" equal to active cell.    Set currcell = ActiveCell        'Select the last cell on the worksheet that has data.    Range("IV65536").Select        'Include code with Location property here.    x = ActiveSheet.HPageBreaks(2).Location.Address    MsgBox x    'Example sets x equal to address of second horizontal page break.    'Then message box displays the address of the page break.        'Select original active cell.    currcell.SelectEnd Sub
بعد حساب الخاصية Location ، يمكنك تحديد الخلية النشطة الاصليه مره أخرى. إذا كنت تستخدم التعليمات البرمجية للتمرير بين الخلية الاولي والاخيره أو تحديد الخلية الاخيره وأعاده تحديد خليه البداية مباشره ، فقد يستمر حدوث الخطا. يجب ان يتم أعاده رسم الشاشة ويتم حساب الخاصية Location لحل بديل. إذا كنت تستخدم التعليمات البرمجية أعلاه مع
Application.ScreenUpdating = False
لمنع أعاده رسم الشاشة ، يستمر حدوث المشكلة.

الحالة


أقرت Microsoft أن هذه المشكلة تحدث في منتجات Microsoft المسردة في المقطع "تنطبق على".

مزيد من المعلومات


إذا كنت تستخدم الأسلوب Count مع الخاصية فباجيبريكس أو هباجيبريكس ، فقد تتلقي نتيجة الصفر. يحدث هذا الاجراء ضمن الشروط المذكورة في القسم "السبب". إذا كان فاصل الصفحات مرئيا ، فقد تعطي أسلوب Count الاجابه الصحيحة. قد يعطي الأسلوب Count لفواصل الصفحات العمودية أو الافقيه النتيجة المتوقعة إذا كانت فاصل الصفحات بالقرب من الجزء المرئي من نافذه المصنف. يمكن استخدام الحل البديل المقدم سابقا للحصول علي العدد المتوقع. قد تقوم فواصل الصفحات الموجودة علي يسار نافذه المصنف أو أسفل نافذه المصنف بتمكين الطريقة Count للعمل وتلك الفاصلة للصفحات التي يجب وضعها ، إذا كانت المسافة من النافذة إلى فاصل الصفحات اقل من نصف المسافة بين فواصل الصفحات.

المراجع


للحصول علي مزيد من المعلومات حول كيفيه اعتراض الأخطاء في ماكرو ، انقر فوق رقم المقالة التالية لعرض المقالة في قاعده معارف Microsoft:
213637 كيفيه استخدام "عند الخطا" لمعالجه الأخطاء في ماكرو