ارجو المعذرة فصاحب الحاجة ارعن وانا والله كنت متأمل خيرا (ومازلت) وفاجئني جواب الاستاذ ياسر وانا اسهبت في الشرح كثيرا داخل الملف المرفق
ويعلم الله مدى الاحترام اللذي اكنه للاساتذة الكرام (من علمني حرفا كنت له عبدا)
وكم شعرت بالفخر وانا اترجم احد المواقع الاجنبية عندما رأيت اسم ياسر خليل كمصدر لمعلومة مهمة لكاتب احد المقالات التعليمية
<p dir="RTL" style="margin-top:0cm;margin-right:0cm;margin-bottom:23.4pt;
margin-left:0cm;text-align:right;line-height:26.2pt;direction:rtl;unicode-bidi:
embed">(لكن
القارئ منذ فترة طويلة ياسر خليل أشار إلى نهج أكثر نظافة.([/p]
هل تذكر هذا المقال استاذ ياسر ؟؟؟؟
المهم :
انا منذ 6 اشهر فقط لم أكن اعرف شسئا في ال vba وبفضل منشورات ودروس هؤلاء الاساتذة انا اليوم استطيع كتابة كود رغم ضيق الوقت اللذي اعاني منه وهذا انجاز لا بأس فيه انشاء الله
ونزولا عند رغبتكما اخواني ساعيد شرح المطلوب رغم أنه موجود بالملف المرفق :
سأشرح اولا فكرة العمل وسأسهب بالشرح
انا اعمل في التسديد الالكتروني وبشكل يومي تأيني ارقام عن طريق مجموعات في الواتس اب وانا اقوم بالتسديد لهذه الارقام بدايةً قمت بتصميم ملف اكسل عادي مع بعض معادلات والملف مبني على اولا : (صفحات تمثل ارقامها تاريخ الشهر) وفي كل صفحة جدول سحب للارقام اللتي تأتيني كل يوم , وصفحة اقوم فيها بأرشفة الارقام كل رقم لمرة واحدة بحيث عندما يأتي الرقم مرة ثانية وفور ادخاله بجدول السحب تقوم المعادلات بجلب معلومات الرقم من صفحة الارشيف
لاحقا بدأت تظهر المشاكل مثلا نفس الرقم يأتيني من زبونين مختلفين عندها المعادلات ستقوم بتثبيت الرقم لزبون واحد طبعا الحل كان يدوي بإلغاء المعادلة عند احد الزبونين وكتابة اسمه كقيمة
حاليا فكرة العمل اللذي اقوم به كالتالي :
انشاء يوزر فورم يقوم بالجرد بناءا على عدة معطيات
1 - يتم ادخال اسم الزبون وبمجرد ادخال الاسم يتم تعبئة اسعار ثابتة وفق نسبة وقد نجحت بتنفيذ ذلك
ولكن هنا واجهتني اول مشكلة فعندما يكون الادخال اجنبي او لاسم غير موجود بالكومبو بوكس يعطيني خطأ
وهذا الخطأ
وهذا الكود المستحدم
CODE
Private Sub zbon_Change()
Dim x, y, z As Integer
Dim r, q As Boolean
r = OB2.Value
q = OB1.Value
x = Val(Me.tar)
'x التاريخ
'r q نظام التسعير
y = WorksheetFunction.CountIf(Sheets("ss").Range("ag14:ag819"), Me.zbon.Value)
If Me.zbon.Value = "" And y <> 0 Then: Exit Sub
zbonmain.Value = WorksheetFunction.Index(Range("af14:af819"), WorksheetFunction.Match(zbon.Value, Range("ag14:ag819"), 0))
zbonsy.Value = WorksheetFunction.VLookup(zbon.Value, Range("ag14:av819"), 13, 0)
zbonmtv.Value = WorksheetFunction.VLookup(zbon.Value, Range("ag14:av819"), 14, 0)
zbonfatora.Value = WorksheetFunction.VLookup(zbon.Value, Range("ag14:av819"), 15, 0)
zbonfmtn.Value = WorksheetFunction.VLookup(zbon.Value, Range("ag14:av819"), 16, 0)
End Sub
هذه اول مشكلة