نجوم المشاركات
Popular Content
Showing content with the highest reputation on 02/22/16 in مشاركات
-
شكرا اخي جعفر على هذه النوادر الجميلة وتفضل اخي عبدالله يمكنك كتابة اي شيء على الزر Dim resalh As Integer Ok = "أكيد موافق" Cancel = "not agree" MessageBoxH Me.hwnd resalh = MsgBox("تفضل هذه الخلطة في اللغة", vbOKCancel, "رسالة")5 points
-
عدم الرد من صاحب السوال جعلني ادخل مرة اخرى اواكتشف اني لم ارفق الوحدة المسؤولة عن الترجمة تفصل والصقها في صفحة وحدة نمطية جديدة Public Ok, Cancel, ABORT Public RETRY, IGNORE, YES, NO Private m_hHook As Long Private Const IDOK = 1 Private Const IDCANCEL = 2 Private Const IDABORT = 3 Private Const IDRETRY = 4 Private Const IDIGNORE = 5 Private Const IDYES = 6 Private Const IDNO = 7 Private Const WH_CBT = 5 Private Const GWL_HINSTANCE = (-6) Private Const HCBT_ACTIVATE = 5 Private Declare Function GetCurrentThreadId Lib "kernel32" () As Long Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _ (ByVal hwnd As Long, ByVal nIndex As Long) As Long Private Declare Function SetDlgItemText Lib "user32" Alias "SetDlgItemTextA" _ (ByVal hDlg As Long, ByVal nIDDlgItem As Long, _ ByVal lpString As String) As Long Private Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" _ (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, _ ByVal dwThreadId As Long) As Long Private Declare Function UnhookWindowsHookEx Lib "user32" _ (ByVal hHook As Long) As Long Public Sub MessageBoxH(hwndThreadOwner As Long) Dim hInstance As Long Dim hThreadId As Long hInstance = GetWindowLong(hwndThreadOwner, GWL_HINSTANCE) hThreadId = GetCurrentThreadId() m_hHook = SetWindowsHookEx(WH_CBT, AddressOf _ MsgBoxHookProc, hInstance, hThreadId) End Sub Private Function MsgBoxHookProc(ByVal uMsg As Long, ByVal _ wParam As Long, ByVal lParam As Long) As Long If uMsg = HCBT_ACTIVATE Then SetDlgItemText wParam, IDOK, Ok SetDlgItemText wParam, IDCANCEL, Cancel SetDlgItemText wParam, IDABORT, ABORT SetDlgItemText wParam, IDRETRY, ABORT SetDlgItemText wParam, IDIGNORE, ABORT SetDlgItemText wParam, IDYES, YES SetDlgItemText wParam, IDNO, YES UnhookWindowsHookEx m_hHook End If MsgBoxHookProc = False End Function4 points
-
شرح للحل الذي وضعته 1- في الورقة رقم 2 تم وضع معادلة في العامود C لاستخرج جميع الموردين (محلي) بواسطة المعادلة التالية (صفيف) =IF(ROWS($C$2:C2)>COUNTIF(Sheet1!$A$2:$A$100,$J$1),"",INDEX(Sheet1!$B$2:$B$100,SMALL(IF(Sheet1!$A$2:$A$100=$J$1,ROW($A$2:$A$100)-ROW($A$2)+1),ROWS($C$2:C2)))) 2-من هذاالنطاق وضعت Define name اسميته (MouwaredM) بواسطة المعادلة التالية (الخلية 1$J$ تحتوي على كلمة "محلي") =$C$2:INDEX($C$2:$C$100,COUNTIF(Sheet1!$A$2:$A$100,$J$1)) 3- نفس الشيء بالنسبة للموردين (صادر) في العامود G اسميته (MouwaredT) 4- تم اخفاء الورقة 2 لعدم العبث بها غن طريق الخطأ 5- ننتقل الى الصفحة الاولى في العامود (data validation ( I غلى كل الخلايا تم وضغ المعادلة التالية =IF($H2="","",IF($H2=Sheet2!$J$1,MouwarredM,MouwaredT)) 6- في العامود J هذه المعادلة =IF($I2="","",SUMIF($B$2:$B$100,$I2,$C$2:$C$100)) مع تحياتي3 points
-
شرح الحل المقدم اولا:تم عمل قائمة منسدلة فى العمود نوع المورد وهذا رابط يوضح اليك طريقى عمل القائمة المنسدلة اضغط لعرض المزيد ثانيا :تم اعداد معادلة صفيف لفرز المحلى والتصدير فى العمود فى n3 و o3 والبحث عن البيان المرتبط بالقائمة المنسدلة فقط {=IFERROR(INDEX($B$2:$B$31;SMALL(IF($A$2:$A$31=N$2;ROW($A$2:$A$31)-1;"");ROW(1:100)));"")} ثالثا : تم اعداد قائمة منسدلة ووضع هذه المعادله فىها =INDEX($N$3:$O$19;;MATCH($H2;$N$2:$O$2;0)) رابعا : فى عمود المديونية تم اعداد معادلة للبحث عن عن القيم بشرط القوائم المنسدلة {=IFERROR(VLOOKUP($H2;IF(($A$2:$A$31=$H2)*($B$2:$B$31=$I2);$A$2:$C$31;"");3;0);"")} هذا شرح مختصر وارجو ان اكون قد وفقت فى ايصال المعلومه تقبلوا منى جميعا تحياتى3 points
-
جزاكم الله خيراً أخي وحبيبي في الله أبو يوسف بارك الله فيك وجعل عملك في ميزان حسناتك يوم القيامة أما بالنسبة للنقد فلن أستطيع المشاركة فيه حيث أجهل طبيعة الملف من حيث أنني أجهل طبيعة العمل ولكن لا تقلق ما أكثر النقاد في منتدانا - لا أقصد الإهانة - بل أقصد أن أشكر الله على تلك النعمة؟ تقبل تحياتي3 points
-
السّلام عليكم و رحمة الله و بركاته بارك الله فيك أخي الغالي و أستاذي الحبيب " ياسر العربي " على الملف المميّز لحساب العمر على الشيت الاكسل و إثراءً للموضوع و للتّنويع ربّما يستفيد منه أحد الأعضاء ..حساب العمر بين تاريخيْن على اليوزرفورم فائق إحتراماتي حساب العمر بين تاريخين.rar3 points
-
السلام عليكم ورحمة الله وبركاته إخوتي الكرام إليكم البرنامج بعد محاولة التعريب فما كان به من خير فمن الله وإن كان من خطأ أو سهو أو نسيان فمني ومن الشيطان جزاكم الله خيراً على حسن أدبكم وكلامكم الرفيع والسلام عليكم New-Userform-.rar3 points
-
موضوع انشاء صفحات html بسيطة جدا ولا تحتاج لخبرة كل ما عليك تنزيل برنامج الفورنت بيج او اي برنامج لتصميم صفحات الاتش تي ام برنامج الفورنت بيج كان ينزل مع نسخ الاوفيس حتى 2003 ولكن تم اسقاطه بعد ذلك من المجموعه ويوجد بديل له اسمه Microsoft Office Publisher ولكن لم اتعامل معه التعامل مع الفورنت بيج كأنك تتعامل مع ملف وورد من كتابة وتنسيقات وجداول وارفاق صور وهكذا وتقوم بحفظ عملك على هيئة صفحة نت html طبعا بعد صنع كافة الصفحات يتم وضعها في برنامج الكتاب الالكتروني مثل وضع الصور باذن الله الموضوع سهل وهحاول اشوفلك الراوبط للبرنامج واوضحلك طريقة عمله ولكن اعذرني الان انا بالعمل والنت هنا يدوب بالفلاشة تصفح وهذه صورة توضح شكل البرنامج ومرفق الصفحة التى تم انشائها او ريح دماغك بردو واعمل شرحك في ملف وورد وحفظ باسم واحفظه بامتداد htm index.rar3 points
-
قائمة بافضل المواقع شهرة وشعبية على مستوى العالم فى الاكسيل Excel حسب Alexa Ranking ========================================== وبكل اسف ولا موقع عربى فيهم . والسبب فى شهرة هذه المواقع حجم التفاعل وتبادل المعلومات والخبرات ادخل اى موقع وشاهد اى موضوع وقارن بنفسك . ولكن نحن فى العالم العربى قد نبخل حتى بعمل اعجاب او مشاركة او نخجل من وضع اراءنا ..........الخ لدينا الكثير من علماء الاكسيل العظماء فى العالم العربى اتمنى من الجميع الدعم لهؤلاء العلماء . واتمنى من مدربى الاكسيل وعلماؤه ان يقدمو ما لديهم بكل الطرق احلم بان نكون افضل من الغرب فى كل شىء .3 points
-
اريد فقط ان انبه الاخ ان المشرف ادخل المعادلة =INDEX($A$1:$A$18,SMALL(IF(ISNUMBER($A$1:$A$18),ROW($A$1:$A$18)),ROWS($G$2:G2))) باستعمال ctrl+shift+entr ;)2 points
-
السلام عليكم لاثراء الموضوع جرب أخى هذه المعادلة =INDEX($A$1:$A$18;SMALL(IF(ISNUMBER($A$1:$A$18);ROW($A$1:$A$18));ROWS($G$2:G2))) New Microsoft Excel Worksheet.rar2 points
-
بسم الله ما شاء الله .. نعم هكذا يكون العمل وتكون الاستفادة القصوى من الموضوع بارك الله فيكم إخواني وأحبابي في الله وجزاكم الله خير الجزاء2 points
-
أخي الكريم أبو يحي جرب الكود التالي Sub Test() Dim Rng As Range On Error Resume Next Set Rng = Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row).SpecialCells(xlCellTypeConstants, 1) Rng.Copy Range("C1").PasteSpecial xlPasteValues Application.CutCopyMode = False End Sub تقبل تحياتي Use SpecialCells To Copy Numeric Values YasserKhalil.rar2 points
-
بسم الله والحمد لله والصلاة والسلام على رسول الله أما بعد: السلام عليكم ورحمة الله وبركاته إخوتي وأحبتي الكرام نوابغ أوفيسنا الذي نحبه ونرتاده لننهل من علمكم جزاكم الله خيراً .. بما أن عملي محاسبة في مجال التعهدات والحفريات -أبنية وطرق - إلخ...فإنني أتعامل مع نجارين باطون وعمال بناء وحفر عملهم 1/2 يومية أو 1 يومية أو 1.5 يومية أو 2 يومية ..فقد فكرت بعمل برنامج يخص هذا المجال لأنهم غير موظفين بل يحصلون على لقاء عملهم حسب يومياتهم أرجو أن تشاهدوا برنامجي هذا وتوجهونني ليخدم هذه الشريحة بالشكل الأمثل وأتمنى على علمائنا الأجلاء التأكيد على ورقة البونات التي يجب أن تطبع وفق اليوم الحالي ليحتفظ بها ..ما أريده طباعة هذه البونات حتى ل 100 عامل مثلاً كل يوم بيومه. اسم المستخدم: admin كلمة المرور: 123 الأوراق المحمية: دون كلمة مرور بيانات تسجيل الورشة : يتم كتابتها لتضاف على الأوراق المطلوبة والسلام عليكم عمال ورشات.rar2 points
-
أخي الكريم أحمد الصور غير موجودة .. قم بضغط الصور في ملف مضغوط وارفعه على موقع رفع خارجي بارك الله فيك أخي وحبيبي ياسر العربي وإن شاء الله في انتظار تفرغك لننهل من علمك في هذا المجال .. تقبل وافر تقديري وحبي واحترامي2 points
-
رابط برنامج الفرونت بيج لتصميم صفحات ومواقع الانترنت http://almakan.net/bramj/F-Arabic.zip سيريال البرنامج Front Page 2003 Arabic Serial :WFDWY-XQXJF-RHRYG-BG7RQ-BBDHM وان شاء الله نتفرغ ونشرح ازاي نصمم الصفحات وباذن الله اشوف البرنامج اللي اشرت اليه ودائما ما يتم حفظ صفحة ال html بمرفقاتها من الصور والاستيلات وغيرها في فولدر تابع لها المهم عند اختيار الفولدر المراد تحويله الى كتاب يجب وضع كل مستلزمات الصفحات داخل هذا الفولدر بمعنى بسيط عندي صور وضايفها في الصفحات مع الاكواد مثلا والكلام لازم الصور تبقي في نفس الفولدر حتى تظهر داخل البرنامج وان لم تضيفها من داخل البرنامج مجرد اضافة صفحات النت html سيتم عرض الصور بداخلها عادي خالص وشكرا2 points
-
تفضل يا سيدي Private Sub Adad_R_AfterUpdate() DoCmd.RunCommand acCmdSaveRecord DoCmd.SetWarnings False DoCmd.OpenQuery "Q1" DoCmd.SetWarnings True End Sub Private Sub Al_adad_AfterUpdate() DoCmd.RunCommand acCmdSaveRecord DoCmd.SetWarnings False DoCmd.OpenQuery "Q1" DoCmd.SetWarnings True End Sub جعفر 295.المثال.mdb.zip2 points
-
2 points
-
2 points
-
تفضل اخي الغالي لعله المطلوب بعد اذن الغاليين نتيجة بالدرجات.rar نتيجة بالدرجات.rar2 points
-
أخي الكريم حمادة أنا لست متمكن بالفورم بالقدر الكافي الذي يمكنني من تقديم المساعدة والأكواد الموجودة تحتاج لبعض الوقت لدراستها جيداً لمعرفة أغوارها .. والوقت للأسف غير متوفر لدي بالشكل الكافي أنا أقوم بالإطلاع بشكل سريع على الموضوعات وأقدم الحلول في الموضوعات التي لا تستغرق وقت طويل إن شاء الله يساهم الأخوة المتمكنين في الفورم بتقديم المساعدة تقبل تحياتي2 points
-
السلام عليكم أخي وحبيبي في الله ياسر أبو البراء ممكن اعمل موضوع بهذا الموضوع لأنكم وضعتم حد للإعجاب بالموضوعات ..حتى لا يقولوا بخيل ولكن يمكنني تعويضها بكلمة طيبة تتغلغل في جوانح أخي الحبيب حتى تبلغ شغاف قلبه ...وقد شبهها الله تعالى بشجرة طيبة أصلها ثابت وفرعها في السماء تؤتي أكلها كل حين بإذن ربها.. والسلام عليكم.2 points
-
أخى محمد ماهر تفضل نسخة من شيت كنترول المرحلة الاعدادية الخاص بى افحص الملف واطلع على المعادلات فى الشيت وان شاء الله تستفيد منه حتى تتمكن من عمل الشيت الخاص بك كلمة المرور لجميع الصفحات هى officena كنترول الإعدادى رجب جاويش الإصدار 15.rar2 points
-
أخي الحبيب الغالي أبو يوسف مجرد مرورك بالموضوع هو في حد ذاته أغلى وأفضل وأحسن من أي إعجاب وممكن تفتح موضوع جديد بطلبك .. وتخلي عنوان الموضوع "سلفني إعجاب شكراً" تقبل وافر حبي وتقديري2 points
-
السلام عليكم......أي إحراج هذا؟؟؟!!!. You are only allowed to give 20 likes per day. You cannot give any more likes today لماذا يا أوفيسنا...اكرموا علينا ببعض الرصيد حتى لا يزعلوا منا أحبابنا.. والمواضيع التي كتبناها ...أين أنت يا عبد العزيز البسكري...تشوف الحال ..أنت عندك منها ...2 points
-
يا شباب نفد رصيدي من الإعجابات فاعذروني....حدا يسلفني...قرضة حسنة. تحويل --- دفع كاش --- فلّسنا.2 points
-
لا أبداً لا تقنعني أنه صوتك وحش ...حتى لو كان كذلك فانظر إلى قول الإمام الشافعي رحمه الله: وكن رجلاً على الأهوال جلداً وشيمتك السماحة والسخاء يُغطى بالسماحة كلُ عيب وكم عيب يغطيه السخاء. والسلام عليكم. ربنا يبارك لك بولديك محمد وأسيل ويرزقك مثلهم ومثلهم ومثلهم ...آمين يا شباب نفد رصيدي من الإعجابات فاعذروني....حدا يسلفني...قرضة حسنة.2 points
-
2 points
-
هذا شرف لي أن يقوم كل الأساتذة بالرد علي الموضوع ... بارك الله في علمكم ووقتكم2 points
-
ان شاء الله بعد صلاة الضهر احمله واتفحصه وان كان هناك ملاحظات سوف اقول لك بما ان طبيعة عملى مراجع حسابات وصلت لها بالعمل وليس بالدراسه تقبل فائق الاحترام والتقدير يا ابانا الفاضل جزاك الله كل خير2 points
-
السلام عليكم بارك الله بكم جميعاً مساهمة مني بموضوعكم الكريم تقبلوا تحياتي العطرة.2 points
-
السلام عليكم أخي الحبيب ... كم يشرفني ويسعدني متابعتكم لأعمالي المتواضعة - كوني مبتدئ - فمجرد مروركم العطر يضفي على النفس شعوراً بالأخوّة الصادقة ولكنني أطلب منكم النقد الموضوعي فأنا لا أنزعج من عرض الملاحظات ...كيف يجب أن تكون الفكرة هذه أو تلك ...علماً أن طريق الأخ محمد علي الطيب أفضل من حيث التخفيف من حمل الملف والمعادلات ... وبكم الله بارك أخي الحبيب تقبل تحياتي ومحبتي والسلام عليكم.2 points
-
استاذى الكبير وفاكهة المنتدى وصاحب الافكار الى بتعلم فى القلوب قبل العقول سمحلى اهنيك على دماغك العالية اوى المتكلفة والى بتخلينا نستمتع بكنوزك اتمنى من الله ان يوفقك الى ما يحب ويرضى ويسهلك ويرزققك الصحة والعافية وخلى بالك مشوارك كبير بس احنا عرفين ان الكبير لازم يكون مشوارة كبير ربنا يكرمك يا ابا يوسف والشكر موصول للمايسترو الاستاذ ياسر العربى صاحب التحف الفنية القيمة التى تكون بمثابة الصواريخ العابرة للعقول بارك الله فيكم جميعا وربنا ما يحرمنا منكم ابدا جزاكم الله كل خير2 points
-
2 points
-
السلام عليكم ورحمة الله وبركاته هل تعني أن يكون معرباً كما في المرفق يرجى أن يرضيكم New-Userform-.rar2 points
-
السلام عليكم مثال قديم للأستاذ أبو هاجر لاستخدام الماسح ( السكانر ) عن طريق الأكسس قمت على تحديثه وزيادة السيطرة واستبعاد تخزين مسار الصور حيث لا داعي لها . مرفق ملف مكتبة dll يجب نسخه في مجلد Windows\System . لا تنسونا من دعاكم . تحياتي . الملفات المرفقة Scanner.rar ( 471.28ك ) عدد مرات التنزيل: 381 point
-
اسف خطأ متوقع ركزت ع الترتيب فقط لم تاتي فكرة لعلاج المشكلة بطريقة احترافية المهم عدلت بفكرة بسيطة كدا تقوم باللازم لعلها تناسبك وبعدين يامعلم حمادة متقولشي كدا براحتك احنا معاك لو ظهر الف مشكلة وسعت مني صح خليهم ميت مشكلة كويس كدا وشكرا نتيجة بالدرجات.rar1 point
-
1 point
-
1 point
-
جزاكم الله خيراً أخي الحبيب أحمد الفلاحجي إن شاء الله سأجرب الطريقة ... أخي الغالي عبد العزيز البسكري أعتقد أن أول برنامج مناسب جداً ويفي بالغرض ولكن نحتاج لتعلم إنشاء صفحات html حتي يتسنى لنا التعامل مع التنسيقات بمرونة ..1 point
-
الظاهر ان الاخ كرار شغال على الموضوع ، فصبر جميل العمل لازم يكون كالتالي: 1. عمل استعلام مجاميع (تستطيع عمل نسخة من الاستعلام qry_Data_Entry) ، وفيه الشروط المطلوبة من العام الدراسي والمدرسة وووو ، 2. عمل استعلام جدولي من الاستعلام السابق (الاستعلام الجدولي يغير السجلات الافقية الى عمودية) ، 3. ثم تعمل استعلام ثالث ، حيث تربط الاستعلام الاول بالثاني ، وتحصل على الصيغة النهائية للمطلب طبعا هالكلام على الهواء المباشر كرؤوس اقلام ، وبدون ورقة وقلم وبرمجة ، فلازم يكون في تعديلات في التفاصيل جعفر1 point
-
أخي الحبيب الغالي محمد الريفي وأخي الغالي المتميز سليم بارك الله فيكما وجزاكما الله كل خير ... ********** الرسالة إلى كلاكما أخي الحبيب سليم إخواني وأحبابي أكرر ..لا تقدموا الحلول وفقط .. شرح مبسط لما تم عمله بالملف ليستفيد الجميع تقبلوا تحياتي1 point
-
1 point
-
من عيني يابو يوسف عاوزه كارت شحن ولا تحويل رصيد ع الطاير :) اخي احمد ربي يبارك فيك ويديم هذه المودة والصحبة الجميلة1 point
-
وعليكم السلام و رحمة الله و بركاته ... 1- عدد الناجحين =DCount("[النتيجة]";"المسجلين";"[النتيجة]='ناجح'") عدد الراسبين =DCount("[النتيجة]";"المسجلين";"[النتيجة]='راسب'") 2- من التبويب "مفهرس" ( للحقل رقم التسجيل ) غيرها الى "نعم (التكرار غير مقبول)" . . . كرار ...1 point
-
الاخوة الاعزاء معلمينا احباب جزاكم الله خيرا وجعلكم من سكان الفردوس الاعلى شكرا لاخى كيرلس على هذا الفورم الجميل وجزاك الله خيرا استاذى القدير محمد حسن المحمد ابو يوسف على لمساتة الجميلة المشكلة ان الواحد مش قادر يستوعب البرمجة بالرغم من وجود معلومات ليس لها حصر على هذ الصرح التعليمى الااننى لم اتمكن من حتى اضافة سطر او حذفة مش عارف لية اكيد انا السبب لعدم اعطاء نفسى الفرصة لفهم البرمجة ومن اجل ذلك نتمنى من السادة اصحاب الخبرات الفياضة ان يشرحو لينا على هذا الفورم فى حالة الاضافة او الحذف نعمل اية وجزاكم الله خيرا وجعل ما تفعلونة فى ميزان حسناتكم بارك الله لنا فيكم ويارب يبارك فى عمركم واولادكم وشكرا1 point
-
أخي الفاضل ابن الملك فيه موضوع في الموضوعات في الفهرس الخاص بي بعنوان "الحلقات التكرارية داخل المصفوفات" حاولت فيه تعليم الأعضاء تقنية استخدام مفتاح F8 لمتابعة عمل الكود سطر بسطر لمعرفة ما يقوم به الكود وراء الكواليس ..الموضوع إن شاء الله ستجده مفيد جداً وهو إنطلاقة لك للتعامل مع الأكواد التي تريد فهمها .. سيسهل عليك الكثير من متابعة عمل الكود وبلاش موضوع الهدنة ده ..إحنا مش في حرب إحنا في طلب علم ، وفي طلب العلم شعارنا يا ابن الملك : وااااااااااااااااااااااااااااااااااصل بلا فوااااااااااااااااصل .. تقبل تحياتي1 point
-
مثال رقم 3 :- فى المثال رقم 2 كان الشرح على نفس الصوره السابقه فورم فى مرحلة التصميم وصممت عليه Frame والفريم لا يوجد به اى عناصر تحكم تم تصميمها وكان المثال برقم 2 انى اعمل كود عند فتح الفورم يكون هناك عدد 10 صفوف من العناصر كل صف به ليبل وتكست بوكس وكمبوبوكس المثال بتاعنا اليومعايز اعرف ازاى اضيف عناصر تحكم اثناء فتح الفورم من شيت اكسيل وعدد الصفوف بالشيت غير معروف عددها فى زياده او نقصان شاهد الصوره هتعرف اكتر المثال بتاعنا بكل بساطه نفس الكود اللى بالمثال 2 مع تعديلات فنيه بسيطه جدا دا كان الكود اللى بالمثال 2 Private Sub UserForm_Initialize() Dim Top As Integer Dim i As Integer Top = 5 For i = 1 To 10 With Me.Frame1.Controls.Add("Forms.Combobox.1", "Combobox" & i) .Left = 20 .Top = Top .Height = 40 .Width = 150 .BackColor = &HFFFFC0 .TextAlign = fmTextAlignCenter .FontSize = 20 .Font.Bold = True Dim a As Variant a = Array("ناجح", "راسب") .List = a End With With Me.Frame1.Controls.Add("Forms.TextBox.1", "TextBox" & i) .Left = 180 .Top = Top .Height = 40 .Width = 150 .TextAlign = 2 .FontSize = 20 .Font.Bold = True .BackColor = &HC0FFFF End With With Me.Frame1.Controls.Add("Forms.Label.1", "Label" & i) .Left = 340 .Top = Top .Height = 40 .Width = 150 .SpecialEffect = fmSpecialEffectEtched .TextAlign = 2 .FontSize = 24 .Font.Bold = True .BackColor = 8454016 .Caption = "الصقر" & i End With Top = Top + 40 Next Me.Frame1.ScrollHeight = Top End Sub ايه المطلوب تعديله بالكود لكى يتناسب مع المطلوب بتاعنا رفع الخلايا من الشيت الى الفريم المثال كان على ان عدد الصفوف 10 لذالك استخدمنا الحلقه For next كالتالى For i = 1 To 10 فدلوقتى انا عايز اجيب الخلايا بالشيت رقم 1 النطاق من A2 الى اخر صف هيكون به اخر طالب اذن بداية الحلقه هى اول صف بالجدول وهو الخليه A2 ورقم الصف لها هو 2 اذن الحلقه هتبدأ من رقم 2 الى ؟ الى اخر صف به بيانات فى العمود A اذن لازم احدد اخر صف به بيانات من خلال السطر التالى واحنا شرحناه قبل كدا lr = Sheet1.Cells(Rows.Count, 1).End(xlUp).Row عملت متغير واسمه Lr وتقدر تسميه اى اسم كيفما شئت وقلت ان المتغير Lr يساوى كتبت اسم الشيت المراد العمل عليه واستخدمت Cells لتحديد عدد الخلايا الممتلئه بالبيانات فى العمود 1 كدا انا عرفت الحلقه من اين تبدأ واين تنتهى ( تبدأ من الصف 2 الى اخر صف به بيانات ) For i = 2 To lr شاهد الكود بعد تعديل الحلقه For Private Sub UserForm_Initialize() Dim Top As Integer Dim i As Integer lr = Sheet1.Cells(Rows.Count, 1).End(xlUp).Row Top = 5 For i = 2 To lr With Me.Frame1.Controls.Add("Forms.Combobox.1", "Combobox" & i) .Left = 20 .Top = Top .Height = 40 .Width = 150 .BackColor = &HFFFFC0 .TextAlign = fmTextAlignCenter .FontSize = 20 .Font.Bold = True Dim a As Variant a = Array("ناجح", "راسب") .List = a .Text = Sheet1.Cells(i, 3).Text End With With Me.Frame1.Controls.Add("Forms.TextBox.1", "TextBox" & i) .Left = 180 .Top = Top .Height = 40 .Width = 150 .TextAlign = 2 .FontSize = 20 .Font.Bold = True .BackColor = &HC0FFFF .Text = Sheet1.Cells(i, 2).Text End With With Me.Frame1.Controls.Add("Forms.Label.1", "Label" & i) .Left = 340 .Top = Top .Height = 40 .Width = 150 .SpecialEffect = fmSpecialEffectEtched .TextAlign = 2 .FontSize = 24 .Font.Bold = True .BackColor = 8454016 .Caption = Sheet1.Cells(i, 1).Text End With Top = Top + 40 Next Me.Frame1.ScrollHeight = Top End Sub اللى مركز معايا هيلاقى 1- تم تعديل بداية ونهاية الحلقه For 2- فى سطر تم اضافته فى خصائص كل عنصر فى عنصر الكمبوبوكس تم اضافه السطر التالى .Text = Sheet1.Cells(i, 3).Text قيمة الكمبوبوكس هى كتبت اسم الشيت وهو بمثالنا الشيت 1 ثم الخلية المطلوبه Cells عباره عن (رقم العمود, رقم الصف)Cells ( Cells( i , 3 i هنا هى رقم الصف اللى هيتغير كل مره بالحلقه For والعمود هو رقم 3 الخاص بالحاله --------------------------------- فى عنصر التكست بوكستم اضافه السطر التالى .Text = Sheet1.Cells(i, 2).Text نفس الكمبوبوكس ولكن تم تغيير رقم العمود هو 2 الخاص بالدرجه ---------------------------------- فى عنصر الليبل تم اضافه السطر التالى .Caption = Sheet1.Cells(i, 1).Text نفس الكمبوبوكس والتكست بوكس ولكن تم تغيير رقم العمود هو 1 الخاص باسم الطالب ----------------------------------------------------------------------------------------------------------------------- ملحوظه اخيره لمن يريد درجة الاحترافيه فى الكود لما كنا بنعمل خصائص العنصر كان الخاصيه Left & Top & Width& Height لكل عنصر كان بيتم كتابتهم بالشكل التالى كلا منهم على حد فى سطر مختلف على سبيل المثال خصائص التكست بوكس With Me.Frame1.Controls.Add("Forms.TextBox.1", "TextBox" & i) .Left = 180 .Top = Top .Height = 40 .Width = 150 .TextAlign = 2 .FontSize = 20 .Font.Bold = True .BackColor = &HC0FFFF .Text = Sheet1.Cells(i, 2).Text End With ممكن اكتب الاربع خصائص فى سطر واحد من خلال Move القاعدة الخاصه بــ Move Move Left, Top, Width, Height. ويكون شكل الكود كالتالى بالخصائص With Me.Frame1.Controls.Add("Forms.TextBox.1", "TextBox" & i) .Move 180, Top, 150, 40 .TextAlign = 2 .FontSize = 20 .Font.Bold = True .BackColor = &HC0FFFF .Text = Sheet1.Cells(i, 2).Text End With تم استبدال الاربع صفوف بسطر واحد من خلال Move -------------------------------------------------------------------------------------------------------- جرب الكود بنفسك هتثبت المعلومه اكتر الى لقاء اخر من حلقات سلسلة علمنى كيف اصطاد ان شاء الله هيكون عن كيفية التحكم فى العناصر الموجوده داخل الفريم سوء كانت مصممه اثناء عملية التصميم او تم انشائها بكود انتظرونا تقبلوا تحياتى1 point
-
ثانيا:-كيفية اضافه عناصر تحكم داخل الـ Frame اثناء عملية التصميم لأضافه عناصر تحكم داخل الـ Frame يوجد طريقتين الطريقه الاولى :- شاهد الصوره الطريقه الثانيه :- لو حضرتك قمت بتصميم عناصر على الفورم مثل الصوره دى ثم فكرة انك تجعلهم داخل فريم بعد ما صممت العناصر وظبت التنسيقات وكل شئ فما الحل ؟؟؟ شاهد الصور التاليه بعد ما تضغط على Paste ستجد العناصر داخل الفريم بنفس التنسيق شاهد الصوره التاليه وبكدا عرفنا اننا نقدر نضيف اى عنصر او عناصر تحكم داخل الفريم أما بأنشائها لاول مره او اننا بننسخها من الفورم ملحوظه مهمه جدا تقدر تنسخ بنفس الطريقه من فورم اخر وتعمل لصق على فورم جديد مفيش مشكله واحد هيقولى وايه الفايده لما تنسخ مثلا كمبوبوكس من فورم انت مصممه قبل كدا وتعمله لصق فى فورم جديد لانه بيوفر عليك الوقت والجهد من تظبيط التنسيقات للكمبوبوكس وبيتم لصقه بنفس الخصائص **************************************************************************************** الى لقاء اخر من حلقات سلسلة علمنى كيف اصطاد ان شاء الله هيكون عن التعرف على خصائص Frame من شاشة الخصائص اثناء عملية التصميم انتظرونا تقبلوا تحياتى1 point
-
الطريقه العاشره :- تعبئه الكمبوبوكس بأستخدام Set هذه هى الطريقه الاخيره من طرق الكمبوبوكس وعلشان هى الاخيره والاعمال بالخواتيم اللهم ارزقنا جميعا حسن الخاتمه فطريقه اليوم طريقه سهله جدا وتتميز بالبساطه يعنى هنقزز كدا شوى مع بعض ونتسلى ( استراحه متعلم ) لو عندى شيت زى كدا وفيه بيانات وعايز اقوم بتعبئة الكمبوبوكس بالبيانات المظلله باللون الاخضر شاهد الصوره يوجد طريقتين الطريقه الاولى :- لو نطاق البيانات عندى ثابت كما هو بالجدول من A2: b5 هستخدم الكود التالى Dim R As Range Set R = Sheet1.Range("A2:b5") Me.ComboBox1.List = R.Cells.Value كود سهل جدا وبسيط السطر الاول الاعلان عن المتغيرر وقمت بتسميته R ( وممكن تسميه اى اسم كيفما شئت) وانه ان المتغير ده من النوع Range وعايز احول المتغير ده الى كائن بحيث اعرفه واقدر اتعامل معاه فأستخدمت set وهذه الكلمة هى لتحويل المتغير الى كائن القاعده الخاصه بـ Set هى الكائن = المتغير set ("Set R = Sheet1.Range("A2:b5 بعد ما عرفت الكائن وحددت نطاقه دلوقتى اقدر استخدمه واتعامل معه Me.ComboBox1.List = R.Cells.Value هذا السطر يعنى ان قائمة الكمبوبوكس تساوى النطاق قيمة كل خليه فى النطاق R الطريقه الثانيه :- لو نطاق البيانات عندى متغير كما هو بالجدول من A2: b5 ولكن يمكن اضافه اسماء جديده او حذف اسماء موجود فى هذه الحاله هو نفس الكود ولكن هيتم تعريف اخر صف به بيانات هستخدم الكود التالى Dim R As Range Set R = Sheet1.Range("A2:b" & Sheet1.Cells(Rows.Count, "a").End(xlUp).Row) Me.ComboBox1.List = R.Cells.Value وطبعا اتكلمنا قبل كدا ماذا يعنى سطر تعريف اخر خليه بها بيانات يبقى تحديد وقت تنفيذ الكود وزى ما اتفقنا قبل كدا ان وقت تنفيذ الكود انت اللى بتحدده ولكن على سبيل المثال فى حدث فتح الفورم Private Sub UserForm_Initialize() Dim R As Range Set R = Sheet1.Range("A2:b" & Sheet1.Cells(Rows.Count, "a").End(xlUp).Row) Me.ComboBox1.List = R.Cells.Value End Sub طبعا فى طرق اخرى ولكن لا ارى جدوى منها فنكتفى بعشر طرق تم تناولها لننتقل الى شروحات اخرى فأنا والله لم ابخل عليكم بمعلومه فكل ما يهمنى ويشغل بالى هو تبسيط المعلومه بعيدا عن الكلمات المعقده واكون دائما حريص على تنوعها ففى تعبئة الكمبوبوكس اتكلمت عن عشر طرق كان بالامكان اكتفى بطريقه او طريقتين ولكن الامانه العلمية وحبى لكم تقتضى على ان اعرفكم بكل شئ عايزكم تكونو احسن منى مش بس زى انا وما يحزننى هو احساسى بان الناس مش مهتمه بالموضوع لسبب او لاخر أحيانا الانسان لما بيزرع شجره بيكون عايز يشوف ثمرة جهده وعرقه فأنا مستمر فى غرس الشجر مهما كانت العواقب والعواصف أن شاء الله بعد الانتهاء من كل الشروحات هيتم تحويله الى كتيب الكترونى Pdf وان شاء الله يكون اول كتاب باللغه العربيه فى شروحات الفورم اللى بيدخل فى ادق التفاصيل واعمقها والى لقاء اخر من حلقات سلسلة علمنى كيف اصطاد انتظرونا تقبلوا تحياتى1 point