بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
نجوم المشاركات
Popular Content
Showing content with the highest reputation on 02/22/16 in all areas
-
شكرا اخي جعفر على هذه النوادر الجميلة وتفضل اخي عبدالله يمكنك كتابة اي شيء على الزر 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
-
أخي الكريم عادل يفضل دائماً إرفاق ملف معبر عن الملف الأصلي جرب الكود التالي عله يفي بالغرض Sub SplitIt() Dim I As Long, Arr1, Arr2 Application.ScreenUpdating = False Arr1 = Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row).Value For I = LBound(Arr1) To UBound(Arr1) Cells(I, 7) = VBA.Split(Arr1(I, 1), " : ")(1) Next I Arr2 = Range("G1:G" & Cells(Rows.Count, 7).End(xlUp).Row).Value For I = LBound(Arr2) To UBound(Arr2) Cells(I, 2) = VBA.Split(Arr2(I, 1), " ، ")(0) Cells(I, 3) = VBA.Split(Arr2(I, 1), " ، ")(1) Next I Columns(7).ClearContents Application.ScreenUpdating = True End Sub تقبل تحياتي Split Text YasserKhalil.rar1 point
-
1 point
-
1 point
-
جزاك الله خير حبيبي وهذا ما تعلمناه من المنتدى الكريم وليس من عندنا بارك الله فيك حبيبي ابو يوسف وعلى فكرة المرفق بالاعلى هو فكرتك عند طرح هذا الموضوع تذكرت عندما وضع هذه الدالة اخونا الاستاذ محمد الريفي وقمت بارفاق مثال حتى قام اخونا محمد الريفي بارفاق مثاله ثم حذفت انت مرفقك وقلت اذا حضر الماء بطل التيمم الذاكرة شغالة صح بس انا كنت خلاص اتيممت قبل ما تيجي الميه متنساش المرفق يابو يوسف تقبل تحياتي1 point
-
1 point
-
1 point
-
جرب هذا الملف واضغط اعجبني Num_Of_Words.rar1 point
-
1 point
-
وجزيت خيراً بمثل ما دعوت لي أخي الحبيب أحمد بارك الله فيك على دعائك الطيب .. لك الحرية في استخدام المعادلات أو الأكواد ..فأنت أدرى بملفك وبعملك مني ، فقط أحببت أن أثري موضوعك وأقدم حل بالأكواد يوفر الوقت والجهد الذي تسببه المعادلات في كثير من الأحيان الحمد لله الذي بنعمته تتم الصالحات تقبل تحياتي1 point
-
اخى العزيز اليك المرفق لكنى لم اتفهم المطلوب جيدا فى بندين new و search اما باقى المطلوب فهو يعمل كما تريد باضافة صف جديد عند النتهاء من اخر تيكست بوكس فى الصف الاول او الثانى وهكذا مع انهاء كود الترحيل على الزر ok وكذلك زر الخروج اوفيسنا1.rar1 point
-
أخي الحبيب أحمد إليك هدية مني ملف مرفق يمكنك ترجمة أسماء الدوال من الإنجليزية للفرنسية أو العكس ويوجد لغات أخرى .. تقبل تحياتي Translation Of Functions Officena YasserKhalil.rar1 point
-
1 point
-
بعد المقدمه الحلوه فى الدرس السابق اليوم نقدر نتكلم عن الدرس بتاعنا وهو كيفية اضافه عناصر تحكم داخل الــ Frame عند فتح الفورم أو أثناء عمل الفورم وهو نشط مثال رقم 1 :- نشاهد الصوره التاليه ده فورم فى مرحلة التصميم وصممت عليه Frame وكما تلاحظون ان اسمه فى الخاصيه Name وهو Frame1 وهو الاسم اللى هنستخدمه فى كتابة الاكواد انا عايز اعرف ازاى اضيف عناصر تحكم اثناء فتح الفورم على سبيل المثال عايز اعمل كود فى حدث فتح الفورم لكى يظهر الفورم عند الفتح كالتالى شاهد الصوره طيب ايه هو الكود اللى انا عايز اكتبه فى حدث فتح الفورم ؟ حتى يكون الفورم عند الفتح بهذا الشكل عايز اكتب كود اضيف فيه Label واضيف فيه TextBox واضيف فيه ComboBox طيب ازاى نعمل ده ؟ تعالو نبدأ بأضافه ComboBox شاهد الكود ونشرحه Private Sub UserForm_Initialize() With Me.Frame1.Controls.Add("Forms.Combobox.1", "Combobox1") .Left = 20 .Top = 5 .Height = 40 .Width = 150 .BackColor = &HFFFFC0 .TextAlign = fmTextAlignCenter .FontSize = 20 .Font.Bold = True Dim a As Variant a = Array("ناجح", "راسب") .List = a End With End Sub الكود بكل بساطه يكمن فى السطر الاول استخدمنا With علشان اعرف الكود انى انا هتعامل مع الـ Frame1 فكتبت With Me.Frame1 طيب انا عايز ايه من الــ Frame1 عايز اضيف عنصر وهو ComboBox بداخله لذالك استخدمت Controls.Add طيب Controls.Add دى لها قاعدة ثابته اتكلمنا عنها قبل كدا (Controls.Add( ProgID , Name ,Visible ( "Controls.Add("Forms.Combobox.1" , "Combobox1 هنا Visible تكون التعبئة اختياريا وهى تحمل خيارين أما True أو False ويفضل عدم استخدامه ليه يا عمنا ؟ لان طالما فكرت تنشأ عنصر تحكم اثناء عملك على الفورم اذا انت اكيد عايز تظهره للمستخدم مش انك هتخفية ! بعد كدا عملت خصائص للكمبوبوكس الجديد اللى تم انشائه 1- الخاصيه Left ( وهى تعنى بعد هذا العنصر من الضلع الايسر للفريم بمقدار كذا ) انا قلت انه يبعد عن الضلع الايسر بمقدار 20 Left = 20. 2- الخاصيه Top ( وهى تعنى بعد هذا العنصر من الضلع الاعلى للفريم بمقدار كذا ) انا قلت انه يبعد عن الضلع الايسر بمقدار 10 Top= 10. 3- الخاصيه Height ( وهى تعنى كم يكون ارتفاع العنصر ) انا قلت ان ارتفاع العنصر 40 Height= 40. 4- الخاصيه Width ( وهى تعنى كم يكون عرض العنصر ) انا قلت ان عرضه العنصر 150 Width = 150. 5- الخاصيه BackColor( وهى خاصه بتحديد خلفية للعنصر) BackColor = &HFFFFC0. 6- الخاصيه TextAlign( وهى خاصه بتحديد المحاذاه للعنصر) TextAlign = fmTextAlignCenter. 7- الخاصيه Fontsize( وهى خاصه بتحديد حجم الخط للعنصر) FontSize = 20. 8- الخاصيه Font.Bold( وهى خاصه بتحديد سماكة الخط للعنصر) Font.Bold = True. 9- الخاصيه List( وهى خاصه بتعبئة الكمبوبوكس من خلال المصفوفه كما تلعمنا من قبل) طبعا ممكن تضيف خصائص اخرى للكمبوبوكس او تحذف خصائص من الامثله اللى ذكرناها كله حسب رئيتك انت وطبعا طالما فتحنا With أذن لازم نغلقها بــ EndWith ----------------------------------------------------------------------------------------------- بعد كدا عايز اضيف TextBox With Me.Frame1.Controls.Add("Forms.TextBox.1", "TextBox1") .Left = 180 .Top = 5 .Height = 40 .Width = 150 .TextAlign = 2 .FontSize = 20 .Font.Bold = True .BackColor = &HC0FFFF End With وطبعا الكود مش محتاج شرح لانه مفيش فى جديد ولكن هو عايز مهندس معمارى او شغال فى المساحه ليه ؟؟ لان لازم تحدد مكان العنصر فى الفريم وذالك سيكون من خلال الخاصيه Left كم يبعد التكست بوكس عن الضلع الايسر للفريم ؟؟؟؟ بكل بساطه انا فى الكمبوبوكس قلت يبعد 20 ثم عملت عرض الكمبوبوكس 150 اذن مجموعهم يساوى 170 يعنى المساحه بدأ من 0للضلع الايسر للفريم وحتى 170 مستغله أذن لازم يكون بعد التكست بوكس عن الضلع الايسر للفريم بمقدار اكبر من 170 فأنا عملت Left =180 ليكون هناك فاصل مقداره 10 بين نهاية الكمبوبوكس وبداية التكست بوكس الخاصيه Top اللى هى بعد التكست عن الضلع الاعلى للفريم خليتها=5 زى بالظبط الكمبوبوكس نفس البعد حتى يكون هناك تنسيق جمالى وكذالك الخاصيه Height ارتفاع التكست بوكس = 40 زى بالظبط ارتفاع الكمبوبوكس أما العرض Width جعلته 150 ( وتقدر تكبره او تصغره براحتك ) وباقى الخصائص معروفه ولا يوجد فيها شئ جديد ----------------------------------------------------------------------------------------------------- بعد كدا عايز اضيف Label With Me.Frame1.Controls.Add("Forms.Label.1", "Label1") .Left = 340 .Top = 5 .Height = 40 .Width = 150 .SpecialEffect = fmSpecialEffectEtched .TextAlign = 2 .FontSize = 24 .Font.Bold = True .BackColor = 8454016 .Caption = "الصقر" End With لازم تحديد مكان العنصر فى الفريم وذالك سيكون من خلال الخاصيه Left كم يبعد الليبل عن الضلع الايسر للفريم ؟؟؟ بكل بساطه انا عملت التكست بوكس يبعد عن الضلع الايسر بمقدار 180 وعملت عرضه 150 اذن 180+150=330 فأنا عملت Left =340 ليكون هناك فاصل مقداره 10 بين نهاية التكست بوكس وبين بداية الليبل الخاصيه Top اللى هى بعد الليبل عن الضلع الاعلى للفريم وجعلته = 5 نفس الكمبوبوكس والتكست بوكس لكى يكون هناك شكل منسق وجمالى وكذالك الخاصيه Height ارتفاع اليبل = 40 زى بالظبط ارتفاع الكمبوبوكس والتكست بوكس أما العرض Width جعلته 150 ( وتقدر تكبره او تصغره براحتك ) وباقى الخصائص معروفه ولا يوجد فيها شئ جديد شاهد الكود بشكله النهائى Private Sub UserForm_Initialize() With Me.Frame1.Controls.Add("Forms.Combobox.1", "Combobox1") .Left = 20 .Top = 5 .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", "TextBox1") .Left = 180 .Top = 5 .Height = 40 .Width = 150 .TextAlign = 2 .FontSize = 20 .Font.Bold = True .BackColor = &HC0FFFF End With With Me.Frame1.Controls.Add("Forms.Label.1", "Label1") .Left = 340 .Top = 5 .Height = 40 .Width = 150 .SpecialEffect = fmSpecialEffectEtched .TextAlign = 2 .FontSize = 24 .Font.Bold = True .BackColor = 8454016 .Caption = "الصقر" End With End Sub وعند تشغيل الفورم ستجد الفورم كما هو بالصوره ---------------------------------------------------------------------------------------------------------------------- مثال رقم 2 :- لو انا عايز اعمل عدد 10 لليبل وعدد 10 تكست بوكس وعدد 10 كمبوبوكس داخل الفريم واتحكم فى الاسكرول بار شاهد الصوره التاليه أول خطوه لازم افعل خاصيه الاسكرول بار الرأسى للفريم من شاشة الخصائص فى مرحله الخطوه الثانيه هكتب كود فى حدث فتح الفورم واستخدم الحلقه التكراريه For Next Private Sub UserForm_Initialize() Dim Top As Integer Dim i As Integer Top = 5 For i = 1 To 10 هنا مكان كتابة الكود السابق Top = Top + 40 Next Me.Frame1.ScrollHeight = Top End Sub فى أول الكود عملت تعريف لعدد 2 متغير Top & i ثم كتبت ان الـ Top قيمتها = 5 لماذا تساوى 5 ؟؟ (أولا ممكن تكتب اى رقم كما يحلو لك) وهو قيمة الفرق بين الضلع الاعلى للفريم والصف الاول من العناصر لذالك كتبت الــ Top = 5 ثم عملت حلقه تكراريه وسميتها i وقلت ان i تساوى من 1 الى 10 الحلقة لما تشتغل هيكون فى اول لفه له قيمة i تساوى 1 ثم ينتقل الى السطر التالى وهو Top = Top + 40 اذن ناتج المعادله هيكون Top = 5+ 40 لماذا رقم 40؟رقم 40 هو ارتفاع العناصر ( الليبل والتكست بوكس والكمبوبوكس ) يعنى قيمة الــ Top حتى هذه للحظه بعد أول لفه تساوى 45 ثم يصل الكود الى Next يعنى التالى ارجع الى الحلقه For وخلى قيمة i تساوى 2 ثم ينتقل الى السطر التالى وهو Top = Top + 40 اذن ناتج المعادله هيكون Top = 45+40 يعنى قيمة الـ Top حتى هذه اللحظه تساوى 85 وهكذا الحلقه بتلف وكل مره قيمة الــ Top بتزيد حتى اخر لفه للحلقه سيكون 405 وبعد انتهاء الحلقه سياتى الكود الى اخر سطر وهو Me.Frame1.ScrollHeight = Top يعنى ارتفاع الاسكرول بار هو = Top اللى هو 405 طبعا الخاصيه ScrollHeight اتكلمنا عليها قبل كدا بالتفصيل وعرفنا ان وظيفتها تحديد ارتفاع الاسكرول بار طيب تعالو بقى نحط الكود السابق اللى بالمثال الاول مع تعديلات بسيطه جدا شاهد الكود 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 ماذا تم تغييره فى الكود اللى كان بالمثال الاول ؟ 1- تغيير هذا السطر فى كل عنصر تحكم على سبيل المثال الكمبوبوكس (With Me.Frame1.Controls.Add("Forms.Combobox.1", "Combobox" & i هنا الخاصيه Name لكل عنصر اسمه ComboBox & i فى اللفه الاولى للحلقه التكرارية سيكون قيمة i تساوى 1 اذن الكمبوبوكس فى الصف الاول هيكون الخاصيه Name اسمه ComboBox1 وفى اللفه التانيه للحلقه التكرارية سيكون قيمة i تساوى 2 اذن الكمبوبوكس فى الصف الثانى هيكون الخاصيه Name اسمه ComboBox2 وهكذا وذالك لكى يكون لكل كمبوبوكس اسم مختلف عن الاخر ونفس الكلام على الليبل والتكست بوكس 2- Top = Top. جعلت قيمة الخاصيه Top ( بعد العنصر عن الضلع الاعلى للفريم ) يساوى Top اللى هو قيمته كل مره بتتغير مع الحلقه التكراريه فى البدايه بيكون قيمته 5 فالعنصر فى الصف الاول هيبعد عن الضلع الاعلى للفريم بمقدار 5 وفى اللفه التانية للحلقه سيكون الــ Top قيمته 45 اذن العناصر فى الصف الثانى يبعدو عن الضلع الاعلى للفريم بمقدار 45 وهكذا ---------------------------------------------------------------------------------------- ارجوا ان اكون وفقت بالشرح والى لقاء اخر ومثال عملى رقم 3 وهيكون مهم جدا جدا جدا انتظرونا تقبلوا تحياتى1 point
-
السلام عليكم صراحة ـ لست مع فكرة اجبار العضو على المشاركة ليستطيع التحميل ـ على الرغم من انها كما تفضلت متبعة و منتشرة و لها مزاياها - فنحن على عكس الكثير من المواقع التي تسعي لزيادة عدد الردود نقوم دوريا بتنقيح المواضيع و حذف المشاركات التي ليست بها اضافة قبل ارشفة الموضوع. و الهدف من ذلك ان لا يضيع وقت القاريء لاحقا في قراءة ما لا يلزمه و يصعب الوصول للمشاركات الهامة في وسط العديد من المشاركات. التفاعل نعم مفيد بصفة عامة ، و لكن نريد نوعية معينة فقط من التفاعل الفاعل المفيد.1 point