هادى محمد المامون سالم قام بنشر أبريل 8, 2007 قام بنشر أبريل 8, 2007 بسم الله الرحمن الرحيم لم اجد مواضيع عن Class فسأقوم بالقاء الضوء بشكل بسيط كما ذكرت فى عنوان الموضوع ان Class هو مخزن الشفرات و الاستفاده المثلى منه حينما تريد تكرار الكود فى اكثر من ورقه عمل فما عليك سوى ان تقوم بانشاء Class جديد ثم تقوم بادراج الكود مره واحده ثم تقوم باستدعاءه و تسميته من اى مكان بالملف 0 تعالوا نحاول ان نفهم اكثر بهذا المثال الهدف : انشاء مسلسل من 1 : 10 لاى ورقه عمل الخطوات : الخطوه الاولى انشاء Class : ادخال الى صفحه vba عن طريق Alt + F4 ادراج Class هذا هو كود التسلسل Public Function To_10() For i = 1 To 10 Cells(i, 1) = i Next End Function اكتبه داخل ورقه Class لاحظ اننا قد قمنا بتسميه كود التسلسل ب To_10 الخطوه الثانيه استدعاء Class : انت لا تزال فى ورقه vba نقرنان على ورقه العمل التى تريد تطبيق المسلسل عليها الكود التالى يقوم بتعريف Class السابق انشاءه باسم clas ثم نقوم باستدعاء كود التسلسل(To_10) الموجود داخل clas Sub DOIT() Dim clas As New Class1 clas.To_10 End Sub و بذلك تستطيع نسخ هذا الكود و وضعه فى اى ورقه عمل و انشاء مفتاح أو Auto_Open فيتم الترقيم من 1: 10 تلقائيا هذا مثال بسيط لاستخدام Class طبعا كما ذكرت اذا كان حجم الكود كبير و البيانات كثيره تستطيع باستخدام Class استدعاءه عن طريق سطران فقط 0 السلام عليكم Class.rar
محمد عسكر قام بنشر أبريل 8, 2007 قام بنشر أبريل 8, 2007 السلام عليكم و رحمة الله وبركاته بارك الله فيك استاذى هادى اين انت و اين ابداعاتك فهذا ما انت اهل له بارك اله فيك تحياتى
magodey قام بنشر أبريل 9, 2007 قام بنشر أبريل 9, 2007 جزاك الله خيرا أخي هادي و لكني كمبتدىء بالإكسيل أسأل مالفرق بين هذا الترقيم و الترقيم الآخر عن طريق كتابة أول رقمين ثم تحديد الخلايا ثم السحب
saoud632 قام بنشر أبريل 9, 2007 قام بنشر أبريل 9, 2007 الاستاذ هادي سالم جزاك الله خيرا ان امكن توضيح الفرق بين عمل الكود باستدعاء Class وذالك لانني عملت نفس الكود بدون استخدام Class فارجو ان كان الوقت يسمح لك ان تدرج مثال يبين فعلا ان استخدام Class افضل من اي طريقة. "الطريقة المثلى لاستخدام Class " والتحية للجميع ____1.rar
نزار سليمان عيد قام بنشر أبريل 9, 2007 قام بنشر أبريل 9, 2007 اخي هادي جزاك الله خيرا وبارك الله فيك وفي علمك وعملك وولدك وزوجك
ابو اسامة العينبوسي قام بنشر أبريل 9, 2007 قام بنشر أبريل 9, 2007 السلام عليكم اخي هادي لك كل الشكر انا منذ مده و انا افكر ما الفرق بين class و module وكيف يستخد م و لماذا
هادى محمد المامون سالم قام بنشر أبريل 9, 2007 الكاتب قام بنشر أبريل 9, 2007 بسم الله الرحمن الرحيم أخى محمد عسكر أخى نزار سليمان عيد أخى ابو اسامة العينبوسي شكرا و بارك الله فيكم جزاك الله خيرا أخي هادي و لكني كمبتدىء بالإكسيل أسأل مالفرق بين هذا الترقيم و الترقيم الآخر عن طريق كتابة أول رقمين ثم تحديد الخلايا ثم السحب الترقيم الأول باستخدام الفيجوال بيزيك الترقيم الثانى يدوى الاستاذ هادي سالم جزاك الله خيرا ان امكن توضيح الفرق بين عمل الكود باستدعاء Class وذالك لانني عملت نفس الكود بدون استخدام Class فارجو ان كان الوقت يسمح لك ان تدرج مثال يبين فعلا ان استخدام Class افضل من اي طريقة. "الطريقة المثلى لاستخدام Class " لقد قمت بادراج مثال بسيط كما قلت حتى لا يكون الموضوع معقد 0 اليكم مثال اخر (بصراحه مثال مفيد جدا ) لتضح الصوره اكثر الهدف : انشاء مسلسل من 1 : 10 و مجموع الخلايا لعده اعمده ثم وضع ناتج الجمع فى نهايه العمود الخطوات : الخطوه الاولى : انشئ Class جديد و قد قمت بتسميته CTotal_Range بالضغط على F4 و تغيير اسمه و اليكم داله باسم RNGB_Total تجمبع عمود B و تستطيع نسخ هذه الكود لعد اعمده مع تغيير حرف "B" الى اى حرف عمود مع تغيير اسمها 0 كما هو بالملف المرفق Public Function RNGB_Total() Dim RNG_Total As Range Dim h As Integer h = Range("A1").CurrentRegion.Rows.Count Set RNG_Total = Range(Cells(1, "B"), Cells(h, "B")) Cells(h, "B").ClearContents Cells(h, "B") = Application.WorksheetFunction.Sum(RNG_Total) End Function الخطوه الثانيه : استدعاء Class الاول لانشاء المسلسل Class1 استدعاء CTotal_Rangeللعمود الذى تريد ايجاد مجموعه بالكود التالى Sub DOIT() Dim clas As New Class1 clas.To_10 Dim clas1 As New CTotal_Range clas1.RNGA_Total clas1.RNGB_Total clas1.RNGC_Total clas1.RNGD_Total clas1.RNGE_Total End Sub و قد قمت بارفاق ملف الورقه الاولى تقوم بجمع الاعمده من B الى E الورقه الثانيه تقوم بجمع العمود B و C الورقه الثالثه تقوم بجمع العمود B و D و ذلك لاستغلال Class واحد فى عده اعمده لا حظ انك بمكن تغيير المجال بتغيير كود المشاركه السابقه كم فعلت بتغيير نهايه I الى 11 السلام عليكم Class_01.rar
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.