سؤال

لا بد لي من ترحيل وثيقة من مس إكسيل لفتح مكتب مع وحدات الماكرو.كل شيء يعمل بشكل جيد باستثناء هذه الوظيفة

 If Application.WorksheetFunction.IsNumber(Cells(12, 5)) = False Then
   MsgBox "Nesprávne zadané číslo účtu alebo kód banky!", vbCritical
   ActiveSheet.Protect Password:="****", DrawingObjects:=True, Contents:=True, Scenarios:=True
   Exit Sub
 End If

انها تحقق من القيم المدرجة من قبل المستخدم.لكني أحصل على هذا الخطأ فقط:

خطأ وقت التشغيل الأساسي لم يتم تعيين متغير الكائن

لذلك قمت بفحص المستند مرتين ، إذا لم تكن الخلية إي 12 فارغة ، ولكن تم ملؤها.هل هناك في فتح مكتب طريقة مختلفة للتحقق من تنسيق الإدخال?شكرا

هل كانت مفيدة؟

المحلول

الرقم في Excel Visual Basic مختلف مثل OO.حاول استخدام GetCellByName ("E12"). قيمة هذه الوظيفة ترجع رقمك

نصائح أخرى

إذا كان الخط If Application.WorksheetFunction.IsNumber(Cells(12, 5)) = False Then فشل قائلا object not set, ، وقد تحققت من ذلك Cells(12, 5) إرجاع قيمة ، ثم الاحتمالات الوحيدة التي يمكن أن أفكر في أن يكون ذلك إما Application أو Application.WorksheetFunction هو Nothing.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top