نجوم المشاركات
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
-
الحمد لله أنه المطلوب لي طلب بسيط أخي الكريم هل يمكن أن تغير إسم الظهر لاسم عربي يكون معبراً عن شخصك الكريم تماشياً مع تعليمات المنتدى، وعذراً على المداخلة1 point
-
اخي الغالي ابو البراء التعديل هنا Private Sub ButtonFind_Click() Dim Lr As Long, R As Long Dim iNx As Integer Me.ComboBox1.Clear جعلنا iNx =33 iNx = 33 لانه هنا يعتمد على الليست اندكس في الكمبوبوكس2 وانت مسيبتش غير تلاته بس انا ريحت وكتبت هما كام وخلاص :) 'iNx = Me.ComboBox2.ListIndex + 1 With æÑÞÉ1 Lr = .Cells(.Rows.Count, "A").End(xlUp).Row For R = 2 To Lr If InStr(.Cells(R, iNx).Value, Me.TextFind.Value) Then Me.ComboBox1.AddItem .Cells(R, iNx).Value Me.ComboBox1.List(Me.ComboBox1.ListCount - 1, 1) = R End If Next End With With Me.ComboBox1 If .ListCount Then .ListIndex = 0: .DropDown Else kh_delete End With End Sub1 point
-
1 point
-
بعد اذن اخي احمد (لا حط الخلية C3 التي تحتو ي على معادلة) ترحيل المحذوف 1.rar1 point
-
نعم اخى وحبيبى يمكن ذلك اختار العمل دون اتصال اولا ثم بعد ذلك حفظ باسم ثم اختار الامتداد اللى هتتحفظ به صفحه وب او هتمل فقط وهو الاختيار الثانى وفقك الله يا ابو البراء جزاك الله كل خير1 point
-
1 point
-
اخي karrar sabry لم افهم كيف اجعلهما جدول واحد اذا كنت تقصد من بداية التصميم للقاعده فقد اخبرني الاساتذة الاجلاء هنا في المنتدى بضرورة فصلها وجعلها مرتبطة بعلاقة فقط1 point
-
استاذ عبد العزيز ... لم لا نجعل جدول الطلاب و جدول الدرجات في جدول واحد يشبه التقرير المرفق اعلاه ؟ اعتقد ان ذلك اسهل ...1 point
-
1 point
-
شكرا على وضع البرنامج هنا مع انه اجنبي الاصل لكن اشكر من قام بتعريبه او من سيحاول1 point
-
اخى محمد الريفى جزاك الله خيرا للفت الانتباه ولكن اظن ان هناك مواقع مدعومه من ميكروسوفت اتمنى لعالمنا العربى الخير وفقكم الله1 point
-
اخى وحبيبى واستاذى محمد انت بتقول بتحلم طب ما تيجى نبدأ وبلاش نحلم نعمل لتحقيق هذا الحلم والا هنفضل نحلم وبس ماتيجى نروى البذره حتى تنبت الشجره والا هنفضل فى مصر نقول بنحلم سامحنى لو فى كلاماتى شىء يضايق فى عملى حلمت اطور نفسى اتسجنت 3 شهور والحمد لله طلعت برائه ولما رجعت بحلم اساعد زمايلى طلعت وحش ومقصر فى عملى وبيتعمل فيا مذكرات انى ممتنع عن العمل ولكن الله معى فوق ذلك وينصرنى على كيد الكائدين طيب نبتدى ازاى ومنين دى عاوزه تفكير واضح وصريح من جميع الاخوه اللذين حباهم الله وفضلهم بعلمه وهنا يبتدى تحقيق الحلم لكن لو فضلنا نقول بنحلم معلش محدش يحلم ان فى حاجه هتتغير جزاكم الله خيرا وسامحونى1 point
-
سادسا :- اجبار المستخدم على الاختيار من الكمبوبوكس يوجد طريقتين الطريقه الاولى :- هى استخدام الخاصيه Style اثناء شرحنا لخصائص الكمبوبوكس فى مرحلة التصميم تكلمنا عن الخاصيه Style ودا نسخ الجزئيه الخاصه بالخاصيه Style من شروحتنا السابقه الخاصيه ( Style ):- وهى بنظرى من اهم الخصائص للكمبوبوكس زى ما احنا عارفين لفتح القائمة الخاصه بالكمبوبوكس للاختيار منها لابد من الضغط على السهم لتفتح القائمه ولكن هذه الخاصيه تتيح للمستخدم التحكم فى وقت فتح القائمة الخاصه بالكمبوبوكس فلها خيارين الخيار الاول Fm StyleDropDown Combo - 0 :- هو الافتراضى لابد من الضغظ على السهم لفتح القائمة كما تتيح للمستخدم كتابة اى شئ بالكمبوبوكس غير موجود بالقائمه بمعنى لا تلزم المستخدم من الخيار من القائمة والخيار الثانى Fm StyleDropDown List - 2 : -هو فتح القائمة من خلال الضغط على السهم او بمجرد وقوف مؤشر الماوس على الكمبوبوكس وكمان ميزة ثالته وهى مهمه جدا هو انه لا يمكن للمستخدم كتابة اى شئ فى الكمبوبوكس يعنى كانك عامل خاصيه حمايه للكمبوبوكس ولا سبيل امام المستخدم الا من الاختيار من القائمه -------------------------------------------------------------------------------------------- الطريقه الثانية :- استخدام الخاصيه MatchFound عايزين نعمل كود يقوم باختبار قيمة الكمبوبوكس هل هى موجوده بالقائمه او لا ؟ لو الكمبوبوكس التطابق مع القائمة = خطأ نفذ الكمبوبوكس فارغ ( دا شرح الكود كدا بالبلدى وحنا قاعدين على المصطبه) لتحويل الكلام اللى بالبلدى ده الى لغة البرمجه تابع معايا لو نستبدلها بـ IF (يعنى قاعدة IF) الكمبوبوكس نستبدله باسم الكمبوبوكس المراد العمل عليه وهو على سبيل المثال Me.ComboBox1 التطابق مع القائمه دى الخاصيه Match Found بمجرد كتابة اسم الكمبوبوكس ثم . ثم حرف M ستجد الفيجوال بيسك يعرض لك قائمه للاختيار شاهد الصوره التاليه = خطأ False ( أى ان القيمة المختاره غير موجوده بالقائمه ) نفذ Then الكمبوبوكس فارغ " " شاهد الكود لما نجمع الكلام ده بقى هيكون كالتالى If Me.ComboBox1.MatchFound = False Then ComboBox1 = "" End If طيب ما هو وقت تنفيذ الكود وقت التنفيذ انت اللى بتحدده مثلا ممكن يكون فى حدث تغيير الكمبوبوكس ()Private Sub ComboBox1_Change Private Sub ComboBox1_Change() If Me.ComboBox1.MatchFound = False Then ComboBox1 = "" End If End Sub وبكدا لو عندك قائمه الكمبوبوكس وليكن بها ( مصر & السعودية & السودان & الجزائر ) والمستخدم تجاهل هذه القائمة وراح يكتب تونس بمجرد بس كتابة حرف ت سوف يقوم الكود بالعمل مش هيلاقى دوله فى القائمة تبدأ بحرف ت اذن تحقق شرط عدم التطابق فهيقوم بمسح حرف ت ممكن واحد يفتكر فى عفريت مسح الحرف يعنى كل ما تكتب شئ غير موجود بالقائمه هتلاقيه بيتمسح فورا ----------------------- ممكن نكتب الكود فى وقت حدث الخروج من الكمبوبوكس Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) If Me.ComboBox1.MatchFound = False Then ComboBox1 = "" End If End Sub يعنى المستخدم بمجرد ما يكتب تونس ويضغط انتر للانتقال الى عنصر اخر على الفورم هتلاقى الكود بيتنفذ ويمسك المستخدم من قفاه ويقوله تعالى تونس غير موجوده فى قائمة الكمبوبوكس وهيمسح تونس يعنى كأن المستخدم مكتبش اى حاجه ومازل الكمبوبوكس قيمته فارغه ممكن المستخدم يتجنن هو ايه اللى بيحصل هو ليه كل ما اكتب تونس يتم مسحها هو فى عفريت ؟؟ ما عفريت الا بنى ادم فعلشان نريحه نظهر له رساله تفيد بانه يجب الاختيار من القائمه Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) If Me.ComboBox1.MatchFound = False Then ComboBox1 = "" MsgBox " الرجاء الاختيار من القائمة", vbCritical, "خطأ" End If End Sub قمنا باضافه هذا السطر بالكود قبل نهاية IF MsgBox " الرجاء الاختيار من القائمة", vbCritical, "خطأ" الرساله تتكون من ثلاث اقسام يفصل ما بين كل قسم وقسم علامة , القسم الاول وهو الرساله " الرجاء الاختيار من القائمه" وتم وضعها بين علامتى تنصيص ( وهو قسم اجبارى) القسم الثانى وهو نوع الرساله واظهار علامه لها فكتبنا Vbcritical رساله خطأ ( وهو قسم اختيارى يمكن الاستغناء عنه ) القسم الثالث وهو عنوان الرساله فكتبنا "خطأ" وممكن تكتب اى عنوان كما تشاء ( وهو قسم اختيارى يمكن الاستغناء عنه) فالاساس فى الرساله هو نص الرساله " الرجاء الاختيار من القائمة " MsgBox فأذا ارد اظهار علامه للرساله او عنوان لها قم باضافه القسم الثانى والثالث او استكفى بالقسم الاول اذا حبيت شاهد الرساله عند الاختيار الخاطئ من المستخدم هل يمكن كتابة الكود فى سطر واحد ؟ نعم يمكن ذالك Private Sub ComboBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) If Me.ComboBox1.MatchFound = False Then: ComboBox1 = "": MsgBox "الرجاء الاختيار من القائمة", vbCritical, "خطأ": Exit Sub End Sub كما تشاهدون الكود انه فى سطر واحد فقط وذالك باستخدام : : ( تكتب من خلال الضغط على شيفت + حرف ك بالعربى ) واستبدلنا عبارة End if بــ Exit Sub -------------------------------------------------------------------------------------------------------------------- الحمد لله انتهينا من شروحات الكمبوبوكس والى لقاء اخر من حلقات سلسلة علمنى كيف اصطاد ان شاء الله هيكون عن الـــ Frame انتظرونا تقبلوا تحياتى1 point
-
الطريقه الحاديه عشر :- تعبئه الكمبوبوكس بأستخدام المصفوفه ويتم ترتيبها ابجديا اولا ثم تعبئة الكمبوبوكس هذه الطريقه للاستاذ القدير / ياسر خليل تفضل بها علينا وارسلها لى على الخاص الكود مشروح جاهز Private Sub UserForm_Initialize() 'يوضع الكود في حدث الفورم ويقوم بعمل قائمة كومبوبوكس مميزة في عناصرها ومرتبة أبجدياً 'تعريف المتغيرات Dim A, E 'مسح محتويات الكومبوبوكس ComboBox2.Clear '[Sheet1] بدء التعامل مع ورقة العمل المسماة برمجياً With Sheet1 'ليحمل قيم النطاق في العمود الثاني أي أنها تعتبر مصفوفة بكل القيم في هذا النطاق [A] تعيين قيمة للمتغير A = .Range("B2", .Range("B" & Rows.Count).End(xlUp)).value End With 'بدء التعامل مع المصفوفات With CreateObject("System.Collections.ArrayList") '[Aِ] من عناصر المصفوفة [E] عمل حلقة تكرارية لكل عنصر For Each E In A 'إذا كان العنصر لا يساوي فراغ ولا يوجد عنصر مماثل في المصفوفة أي يتم التعامل مع القيم الفريدة If (E <> "") * (Not .Contains(CStr(E))) Then 'يتم إضافة العنصر إلى المصفوفة الجديدة التي تحتوي على قيم فريدة غير مكررة .Add CStr(E) End If Next 'ترتيب عناصر المصفوفة الجديدة تصاعديا .Sort 'إضافة عناصر المصفوفة الجديدة للكومبوبوكس ComboBox2.List = .ToArray End With End Sub لو حضرتك عايز الترتيب يكون من ( تنازليا ) فقط غير هذا السطر .Sort الى .Sort: .Reverse تقبلوا تحياتى1 point
-
أخي الكريم أيمن إبراهيم شوف مشاركة الأخ الفاضل خالد الرشيدي رقم 2 وشوف مشاركتك رقم 3 ركز على الجزء اللي فيه كلمة "أعجبني هذا" هتلاقي إنك معملتش إعجاب للأخ الحبيب خالد مع إنه يستاهل ، وهو عمل إعجاب على ردك اللي بتشكره فيه (عجبت لك يا أستاذنا أيمن ... متفوتش عليك دي) تقبلوا وافر تقديري واحترامي1 point