اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

نجوم المشاركات

  1. ياسر خليل أبو البراء

    ياسر خليل أبو البراء

    المشرفين السابقين


    • نقاط

      10

    • Posts

      13165


  2. خالد الرشيدى

    خالد الرشيدى

    الخبراء


    • نقاط

      9

    • Posts

      889


  3. الصـقر

    الصـقر

    الخبراء


    • نقاط

      3

    • Posts

      1836


  4. أنس دروبي

    أنس دروبي

    الخبراء


    • نقاط

      2

    • Posts

      347


Popular Content

Showing content with the highest reputation on 08/18/15 in all areas

  1. الســــلام عليكم يمكن استدعاء تقريبا كافة معادلات الاكسيل فى ال VBA باستخدام الامر Application.Worksheetfunction وهو ما فعلتة حضرتك واستدعيت الدالة SUMIF ولكن MAXIF و MINIF ليست ضمن معادلات الاكسيل وانما تم مزج IF مع MAX فى معادلة صفيف CTRL+SHIFT + ENTER لايجاد اكبر قيمة بشرط ... وكذلك الحال فى MINIF لهذا لاحظ ما يلى يلاحظ عند استخدام Evaluate تم قراءة المحتوى ما بين ال " " اى ال 1+1 كمعادلة وتم ارجاع الناتج على خلاف FORMULA التى نسخت المعادلة الى الخلية وسنستخدم Evaluate فى تنفيذ MAXIF و MINIF Range("D7").Value = Evaluate("=MAX(IF(D10:D13=B11,$E10:$E13))") Range("D15").Value = Evaluate("=Min(if(D10:D13=B11,E10:E13))") لاحظ كيف تم كتابة المعادلة بدون استخدام وسائط الاشارةالى النطاقات فى ال VBA ك RANGE او ... فقط تم كتابة المعادلة وكانها تكتب على ورقة العمل ما بين (" ") ولكن كيف سيعرف الاكسيل صفحة العمل التى تحوى تلك النطاقات فقط لاحظ ما يلى Range("D7").Value = Worksheets(" ورقة1 ").Evaluate("=MAX(IF(D10:D13=B11,$E10:$E13))") Range("D15").Value = Worksheets(" ورقة 1 ").Evaluate("=Min(if(D10:D13=B11,E10:E13))") اليك المرفق دالة MAXIF -MINIF.rar
    4 points
  2. السلام عليكم و رحمة الله و بركاته تحياتي لأساتذتي الكرام و اخواني و اخواتي الزوار و الاعضاء.. بعد عناء طويل و بحث مستمر بفضل من الله و منة حظيت بمعرفة ارفاق التقرير بباركود QR او اي صيغة انت تريدها الملفات و الفيديوهات التعليمية في عنوان الدروب بوكس .. حجم الملف مع البرامج 92 م البرامج لل 64 بت و 32 بت شكرآ لقبولكم هديتي البسيطة راجيآ من حضرتكم الدعاء و راجيآ من الله لي و لكم الافادة https://www.dropbox.com/s/dc7gcdg6fi80oz4/الباركودات مع البرنامج.rar?dl=0
    2 points
  3. أ.احمد الفلاحجى ......... جزاك الله خيراً اسمح لى ان اضع هذه المشاركة لتغيير التاريخ تلقائى بمجرد وضع رقم الشهر فى الخلية D1 داله اليوم بالتاريخ_3.rar
    2 points
  4. أفضل إرفاق الملف الأصلي للإطلاع عليه .. حيث أن تكوين السطر بهذا الشكل غير منطقي .. حاول تساعد الأعضاء عشان يقدروا يساعدوك تقبل تحياتي عموماً جرب الكود التالي إذا ظبطت معاك كان بها فهي نعمة من الله إذا لم تظبط معاك فلن أساهم في الموضوع إلا بعد إرفاق الملف الأصلي (يسر علينا كي تجد المساعدة) Sub Max() Dim LR3 As Long, LR4 As Long, XX3 LR3 = 10: LR4 = 13 XX3 = Range("B11").Value Range("D7").Value = Worksheets("Seen").Evaluate("=MAX(IF(D" & LR3 & ":D" & LR4 & "= " & XX3 & ",E" & LR3 & ":E" & LR4 & "))") End Sub تقبل تحياتي
    2 points
  5. السلام عليكم قد يكون الموضوع مش جديد وعلى المبتدئين ! ولكن يمكن ان يكون من نوع السهل الممتنع ! الموضوع : عند اضافة بيانات لحقل معين اريد ان يشيك اولا هل هو موجود فيذهب لذلك السجل او يستمر في الاضافة عند عدم وجود المكرر ان ما جعلني اكتب هذا الموضوع هو ان احد الاخوة طرح هذا السؤال وهو شخص اعرف ان مستواه جيدا فقمت بالبحث في اماكن عدة فلم اجد جوابا شافيا ! ويكثر الطلب عليه دائما ! وضعت هنا طريقتين وعند الحدث قبل التحديث للحقل: 1. وهي المطبقة في المرفق: Private Sub Id_BeforeUpdate(Cancel As Integer) Set rs = Me.RecordsetClone rs.FindFirst "id=" & Me.Id If Not rs.NoMatch Then Undo Me.Bookmark = rs.Bookmark MsgBox ("موجود هنا") End If End Sub 2. Private Sub Id_BeforeUpdate(Cancel As Integer) idx = Me.Id If DCount("*", "persons", "id=" & idx) Then Undo DoCmd.FindRecord idx MsgBox ("مكرر هنا") End If End Sub تحياتي متمنيا الفائدة ومستقبلا التعقيب وراغبا في المشاركة بافكار اخرى check_before_ins_upd.rar
    1 point
  6. السلام عليكم ورحمة الله وبركاته رايت هناك حاجة لشرح بعض أدوات الفورم لاخواني بالمنتدي حتي يتمكنوا من معرفة كل اداة ووظيفتها ومثال عليها لكي يتمكنوا من عمل فورم بانفسهم وسوف ابدا خطوة خطوة بشرح كل اداة بمثال عملي الدرس الأول Tree View Control وهي تقوم بعرض البيانات علي صورة شجرة مثال الشرح والتطبيق بالمرفقات TreeViewControl.rar
    1 point
  7. طريقة عمل شاشة ( فورم ) ادخال وترحيل واستعلام وتعديل !! خطوة خطوة السلام عليكم اساتذة المنتدي وخبراؤه الكبار الاخوة الافاضل اعلم ان هذه الموضوعات قد قتلت بحثا وطلبا واجابة من الاعضاء وهناك امثلة كثيرة للاساتذة الافاضل الكبار والذي لايصل علمنا او ما لدينا كله الي ذرة واحدة من علمهم ولكني اردت ان اجعل المواضيع الاساسية في عمل اي برنامج في متناول الجميع بطريقة بسيطة وسهله اكثر ما يكون من خلال هذه السلسلة ( اعانني الله علي اكمالها كما ينبغي ) وقصدت ان يكون الموضوع بعنوان واضح ليستفيد منه الجميع عند البحث وسأقدم الشرح بطريقة الفيديو والاكسيل والورد احياناً (((( الدرس الاول )))) شاشة ( فورم ) لادخال بيانات والقيام بتسجيل وترحيل هذه البيانات الي صفحة الاكسيل و الاستعلام من خلالها عن طريق نفس الفورم والتعديل ايضا في البيانات في حالة ما اردنا التعديل في بيان قد سبق ادخاله وطبعاً والاكيد كله من علمكم اساتذتي الكرام الاجلاء وفي الدرس القادم سنتعرف علي بعض الاكواد المعاونة لشاشة الادخال او بمعني ادق اكواد نحتاجها مع شاشة الادخال مثل (تنسيق التكست بوكس ، الترقيم التلقائي في تكست معين ، تنسيق التاريخ في التكست بوكس .... ) واي استفسار .... في الخدمة دائما ... واي شئ غير واضح في الشرح علي استعداد تام لشرحه مرة اخري ومرات اخري واليكم ايضا في المرفقات : 1- ملف اكسيل به الاكواد والشرح هذه المرة داخل الكود ( تم شرح الكود سطر سطر بطريقة وافية وبسيطة جدا داخل الكود نفسه ) 2- عدد ( 3 ) ملف فيديو يشرح طريقة التصميم واضافة الاكواد وكذلك مشاهدة النتيجة جزاكم الله خيرا اساتذتنا اكسيل ..طريقة عمل شاشة ادخال 1.rar فيديو 1 .. طريقة عمل شاشة ادخال 1.rar الملف الفيديو الثاني والثالث في المشاركة التالية حيث لم يمكنني اضافتهم هنا
    1 point
  8. ماشاء الله تبارك الله على هذا الابداع المتميز من صاحب فن وذوق رفيع هذا هو المطلوب أخي ياسر مئة بالمئة بارك الله فيك وجزاك الله كل خير وشكرأ
    1 point
  9. استاذ ياسر العظيم فى الحقيقة انا بدعيلك دائما لأنك دائما فى عون الجميع و لا تبخل بوقتك فى مساعدة الأخرين جزاك اللة كل خير و جعلك عونا للمحتاجين و ادعو اللة ان يجعلة فى ميزان حساناتك الكود العبقرى الذى صممتة يعمل بشكل ممتاز و ختى لا اطيل عليك سأقوم لاحقا بطلب باقى التعديلات فى موضوع جديد ان شاء اللة مرة اخرى شكرا جزيلا
    1 point
  10. جرب الكود بهذا الشكل Sub فحص() On Error Resume Next Set ww = Application.WorksheetFunction LastRow = Cells(Rows.Count, "B").End(xlUp).Row Application.ScreenUpdating = False Range("A6:A" & LastRow).ClearContents Range(Cells(6, 10), Cells(1000, 10)).ClearContents For R = LastRow To 6 Step -1 If Cells(R, 2).Value = Range("H2").Value Then If ww.CountIf(Range("B6:B" & R), Cells(R, 2).Value) > 1 Then Cells(1000, 10).End(xlUp).Offset(1, 0) = Cells(R, 2) Range(Cells(R, 2), Cells(R, 15)).EntireRow.Delete End If End If Next Range("B6:O1000").Sort [B5], xlAscending For N = 6 To LastRow If Cells(N, 2) <> "" Then Cells(N, 1) = Cells(N, 2).Row - 5 End If Next Application.ScreenUpdating = True Cells(6, 10).Select On Error GoTo 0 End Sub
    1 point
  11. عجزت الكلمات عن الشكر والتقدير دائما في رقي وتقدم
    1 point
  12. أخي الكريم المشكلة أنك طلبت أكثر من طلب وفي حقيقة الأمر لا يمكنني العمل على أكثر من طلب في موضوع واحد إليك الكود التالي (استغرق مني وقت طويل فلا تبخل علينا بدعوة لن تستغرق مني ثواني) ...جرب الكود التالي ..قم بكتابة كود العميل ثم اضغط زر الأمر الموجود في ورقة العمل Find All Bills الكود المستخدم : Sub FindAllBills() Dim WS As Worksheet, SH As Worksheet Dim Arr, I As Long Set WS = Sheets("فاتورة"): Set SH = Sheets("استدعاء فاتورة") If IsEmpty(SH.Range("A3")) Then MsgBox "أدخل كود العميل المطلوب استدعاء فواتيره", 64: Exit Sub SH.Range("A4:N1000").Clear Arr = Split(FindRange(SH.Range("A3"), WS.Columns("C:C")), ",") For I = LBound(Arr) To UBound(Arr) On Error Resume Next WS.Range(Arr(I)).CurrentRegion.Copy SH.Range("A" & SH.Cells(Rows.Count, 1).End(3).Row + 2) Next I End Sub Function FindRange(FirstRange As Range, ListRange As Range) As String Dim aCell As Range, bCell As Range, oRange As Range Set oRange = ListRange.Find(what:=FirstRange.Value, LookIn:=xlValues, Lookat:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False) If Not oRange Is Nothing Then Set bCell = oRange: Set aCell = oRange Do Set oRange = ListRange.Find(what:=FirstRange.Value, After:=oRange, LookIn:=xlValues, Lookat:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False) If Not oRange Is Nothing Then If oRange.Address = bCell.Address Then Exit Do Set aCell = Union(aCell, oRange) Else Exit Do End If Loop FindRange = aCell.Address Else FindRange = "Not Found" End If End Function لا تنسى أن تحدد أفضل إجابة ليظهر الموضوع مجاب ومنتهي .. تقبل تحياتي Find All Bills YasserKhalil.rar
    1 point
  13. فكرة استخدامها بشكل أساسي هو الاحتفاظ بالقيم الفريدة أي الغير مكررة فقط ... كيفية استخدامها : هناخد الكود الخاص بحدث بدء الفورم كمثال Private Sub UserForm_Initialize() Dim Rng As Range Dim Dn As Range Dim Dic As Object With WS Set Rng = .Range(.Range("A4"), .Range("A" & Rows.Count).End(xlUp)) End With Set Dic = CreateObject("Scripting.Dictionary") Dic.CompareMode = vbTextCompare For Each Dn In Rng: Dic(Dn.Value) = Empty: Next Me.ComboBox1.List = Application.Transpose(Dic.keys) End Sub مع بداية تشغيل الفورم يتم تعبئة الكومبو الأول بالقيم الفريدة من العمود الاول الأسطر الأولى مفيش مشكلة فيها الإعلان عن المتغيرات ، تعيين النطاق ..بعدها يتم تعيين متغير من النوع كائن (اللي هو زي القاموس) وفايدته زي ما قلت إنه بيتم تخزين القيم الفريدة أي الغير مكررة فيه .. السطر الذي يليه للتعامل مع الأحرف الحساسة (السطر يتغاضى عن حالة الأحرف ... فلو كتبنا في الخلية A32 كلمة Yasser وكتبنا في الخلية A33 كلمة yasser .... وشغلنا الفورم وشوفنا القايمة المنسدلة هتلاقي أول كلمة بس هي اللي موجودة ، وتم التغاضي عن الكلمة الأخرى أي أن حالة الأحرف غير هامة ..) السطر التالي عبارة عن 3 أسطر وهو عبارة عن حلقة تكرارية For Each Dn In Rng Dic(Dn.Value) = Empty Next Dn الكائن دا شبيه بالمصفوفة بيتم تخزين عناصر فيه ولكن ميزته إنه بيخزن العنصر أو القيمة مرة واحدة فقط مع كل حلقة تكرارية .. لو اتبعت أسلوب التنقيح Debug بالضغط على F8 ستجد أنه مع كل حلقة تكرارية يتم تخزين عنصر جديد ..اسم العنصر هنا مفتاح يعني المصفوفة ليها عناصر أما الكائن القاموس ده فله مفاتيح المهم كل مفتاح مميز .. يعني يحمل قيمة واحدة فقط في السطر الأخير بيتم وضع المفاتيح في الكومبو أي تعبئة الكومبو بمفاتيح القاموس .. وطبعاً لأنها شبيهة بالمصفوفة فاستخدمنا كلمة Transpose لأن المفاتيح زي عناصر المصفوفة بتكون على شكل أفقي وعشان نخليها على شكل رأسي بنستخدم الكلمة دي .... يمكن إضافة السطر التالي لوضع مفاتيح القاموس في عمود واحد Range("G1").Resize(Dic.Count, 1).Value = Application.Transpose(Dic.keys) لاحظ هنا تم استخدام كلمة Count لعد مفاتيح القاموس .. أرجو أن أكون قد وفقت في توصيل المعلومة
    1 point
  14. أخى الفاضل خالد الرشيدى أنتم الاساتذه نتعلم منكم فنحن اللذين نستسمحكم فى انت تعلمونا وتشاركونا خبراتكم فنستزيد منها وجزاكم الله عنا خيرا الجزاء بارك الله فيك
    1 point
  15. الاستاذ الفاضل محمد حسن يوجد تحت اى سؤال مباشرة اختيار طرق العرض اما بالتاريخ او بالتقييم فعندما تختار بالتاريخ يقوم المنتدى بتريب المشاركات من الاقدم الى الاحدث وعندما تحتار العرض بالتقييم يقوم المنتدى بعرض المشاركات طبقا للمشاركات الاكتر تقييم اولا ( التقييم اللى بالمشاركه على يمين ستجد سهمين للاعلى والاسفل ) فمن هو اكثر تقييما يكون اول مشاركه وهكذا حاليا عند دخولك لاى موضوع يقوم المنتدى بشكل تلقائيا بعرض المشاركات طبقا للتقييم ( وهو الخيار الافتراضى اللى وضعه الاستاذ محمد طاهر ) انا بطلب من الاستاذ الفاضل محمد طاهر جعل الخيار الافتراضى لعرض المشاركات بالتاريخ تلقائيا الا اذا ارد العضو الاختيار طبقا للتقييم تقبلوا تحياتى
    1 point
  16. صدقت والله اخي ياسر وشكراً لك حتى اني أيام اتصفح موضوع معين من ثرة الردود اغلق الموضوع تم نقل الطلب الثاني الى موضوع اخر منفصل جزالك الله كل خير
    1 point
  17. استاذى الحبيب ياسر خليل مش غريب على حضرتك الابداع ... جزاك الله عنا خيرا خالص حبى وتقديرى
    1 point
  18. بسم الله ما شاء الله أخي الحبيب خالد نشاط منقطع النظير ..بارك الله فيك ونسيت أنا موضوع الدالة Sumproduct دي نهائي .. مخطرتش ف بالي (أنا لا أحبذ معادلات الصفيف) تقبل تحياتي
    1 point
  19. بارك الله فيك أخي الحبيب خالد إليك اختصار لكود الترتيب .. Sub SortData() Application.ScreenUpdating = False Dim LR As Long ActiveSheet.Unprotect "111" LR = Range("N265").End(xlUp).Row Range("B6:BC" & LR).Sort Key1:=Range("H6:H" & LR), Order1:=xlDescending, Key2:=Range("N6:N" & LR), Order2:=xlAscending, Header:=xlNo ActiveSheet.Protect "111" Application.ScreenUpdating = True End Sub
    1 point
  20. بعد اذن استاذى ياسر اخى الكريم المعادلة صحيحة تماماً انت فقط نسيت ان تضغط CTRL+CHIFT+ENTER بعد كتابتها عموماً اكتبها بهذا الشكل ولن تكون بحاجىة الى الضغط على CTRL+SHIFT+ENTER =IF(SUMPRODUCT(--(D17:R17>=D16:R16))=15;"نـاجح و منقول للصف الثانـي الثانوي ";"له دور ثان")
    1 point
  21. P إخوتي الكرام السلام عليكم ورحمة الله وبركاته ...أخي العزيز الصقر ما شاء الله لا قوة إلا بالله أبدعت...جزاكم الله خيراً...هي مشاركة رائعة حقاً...وليست مروراً بل لمست من خلالها بوادر إيجابية لمتابعة موضوعنا هذا الذي كاد أن تطوى صفحاته دون أن تجنى ثماره...بارك الله بكم جميعاً ...وليت إخوتي الباقين يساهمون كهذه المساهمة التي أعطت دفعاً وزخماً طيباً...والسلام عليكم.
    1 point
  22. استاذى الكريم وبعد اذن الاستاذ ضاحى سوف اقدم شرح بسيط حسب ما يتسع لى الوقت نمسك اول شئ رقم 1 كما هو موضح بالصورة عاليه وهى عباره عن تشيك بوكس جديد وتشيك بوكس بحث وتعديل وطباعه طبعا عند عمل سند صرف وتنشيط الفورم أما نقوم بتسجيل سند جديد او اننا نبحث عن سند ما لتعديله وطباعته أولا الجزئيه الاولى وهى وهى عند ما نريد عمل سند جديد نقوم بالضغط على التشيك بوكس سيظهر لنا علامة صح داخل المربع ويتم تنفيذ الكود تلقائيا ما هو الكود الذى يتم تنفيذه عند الضغط على التشيك بوكس جديد اضغط دبل كليك على التشيك بوكس ستجد الكود التالى Private Sub ChNew_Click() On Error GoTo 1 If ChNew.Value = True Then Clear ChCmdSearch.Value = False ChCash.Value = True CmdSearch.Visible = False TxNo.Visible = True LabNo.Caption = "ÑÞÜÜã ÇáÓäÜÏ / " CmdPrint.Visible = False CmdSave.Visible = True CmdEdit.Visible = False ChCash.Value = True Lpay.Caption = "ÓäÏ ÕÑÝ" CkqTxt.Visible = False Lbl40.Visible = False ChNames.Visible = True L1.Visible = False Chabout.Visible = True L2.Visible = False ChBank.Visible = True L3.Visible = False m = sheet1.[M9] mm = 9 Do Until sheet1.Cells(mm, "a").Text = "" mm = mm + 1 Loop TxNo.Value = mm + 1 - 10 + m TxDate.Text = Format(Date, "yyyy/mm/dd") End If 1 End Sub عندما نريد عمل تشيك بوكس فى الفورم فأن الفيجوال بيسك يقوم بتسمية التشيك بوكس CheckBox1 واذا اردنا رسم تشيك اخر فان الفيجوال بيسك يقوم بتسميته تلقائيا CheckBox2 فالاستاذ ضاحى بعد ما رسم عدد 2 تشيك بوكس قام بتغيير الاسم CheckBox1 تم تغيير الاسم " name" الى ChNew CheckBox2 تم تغيير الاسم " name" الى ChCmdSearch وللتاكد من ذالك قم بالوقوف على التشيك بوكس جديد ستجد فى الخصائص اول سطر هو ( Name) وبجواره ChNew وكذالك بكل الادوات والازرار الموجوده بالفورم الاسم ChNew الذى قام بتغيره الاستاذ ضاحى هو الاسم الذى يعتمد علية فى كتابه الاكود فلولاحظنا بالكود عاليه اول سطر Private Sub ChNew_Click() ستجد ان الاسم هو ChNew وليس CheckBox1 ثم بعد ذالك السطر التالى On Error GoTo 1 وهو يعنى ان فى حال حدوث اى خطأ يقوم الكود بالانتقال الى رقم 1 ثم يستأنف عمله 1 End Sub فحينما يحدث خطأ ما بالكود وينتقل الى رقم 1 ثم يباشر الكود تنفيذ مهامه سيجد نفسه وصل الى End sub نهاية الكود بعد كدا السطر التالى If ChNew.Value = True Then تم استخدام if لو كان التشيك بوكس اللى هو اسمه " ChNew" يساوى true أى تم الضغط عليه وعمل علامه صح then نفذ ما يلى Clear Clear هنا تشير الى كود موجود بالفورم لو بحثت عنه ستجد هذا الكود كان ممكن يكون السطر بالشكل التالى Call Clear بمعنى وضع كلمة Call قبل Clear وهى تعنى الاتصال بالكود Clear لتنفيذه فيقوم الكود الاساسى بعمل توقف مؤقت ويذهب الى الكود Clear لتنفيذه ثم يعود لاستئناف الكود مره اخرى بعد الانتهاء منه الكود Clear هو Sub Clear() TxNo = vbNullString TxDate = vbNullString TxName = vbNullString TxDescription = vbNullString TxAmount = vbNullString TxChDate = vbNullString TxChBank = vbNullString TxChNo = vbNullString ChCash.Value = False ChChaqe.Value = False TxDate.Text = Format(Date, "yyyy/mm/dd") End Sub طبعا لازم نشرح كل سطر بهذا الكود وهو كود Clear بختصار TxNo هو اسم تكست بوكس وقام الاستاذ ضاحى بتغيير اسمه كما وضحنا سابقا طيب اين هو هذا التكست لو نظرت للفروم ستجد رقم السند / وبجواره كمبوبكس لو قمت بتصغير الكمبوكس ستجد تحته تكست بوكس لو وقفت علية ونظرت لخصائصه ستجد اسمه ( Name ) هو TxNo طيب سؤال واحد هيقولى هو ليه واضع التكست بوكس والكمبوبكس فى التصميم فوق بعض الاجابه هى عند الضغط على جديد سيظهر التكست بوكس وبه رقم السند ويختفى الكمبوبكس وعند الضغط على تشيك بحث يظهر الكمبوبكس لاختيار رقم السند المراد البحث عنه ويختفى التكست بوكس طيب ماذا يعنى هذا السطر TxNo = vbNullString هو يعنى افرغ محتوى التكست بوكس اللى هو اسمه TxNo يعنى جعله فارغ وكان ممكن يكون بالشكل التالى TxNo = "" وكان ممكن يكون كدا TxNo = Empty لكن الاستاذ ضاحى كتبه بهذه الطريقه TxNo = vbNullString وكما قلت ان كل هذه الاسطر تعنى جعل التكست فارغ ليكون جاهز لكتابه شئ جديد به من قبل المستخدم وهكذا باقى الاسطر بالكود حتى نصل الى ChCash.Value = False ChChaqe.Value = False السطرين السابقين التشيك بوكس رقم 3 والتشيك بوكس رقم 4 قم بالوقوف على تشيك بوكس نقدا وانظر بالخصائص ما هو اسمه ستجده ChCash وايضا قم بالوقوف على تشيك بوكس شيك وانظر بالخصائص ما هو اسامه ستجده ChChaqe يبقى احنا عرفنا ماذا يعنى ChCash وماذا يعنى ChChaqe طيب عند الضغط على تشيك بوكس جديد نريد ان يكون التشيك بوكس نقدا والتشيك بوكس شيك بدون علامة صح ليكون جاهز امام المستخدم الخيارين ليختار اى منهما ولجعل التشيك بوكس بدون علامه صح قلنا انه = False ChCash.Value = False ثم ننتقل الى السطر الاخير وهو TxDate.Text = Format(Date, "yyyy/mm/dd") TxDate هو تكست بوكس بتاع التاريخ وكما قلنا سابقا كيف يتم تغيير مسمى التكست بوكس الى اى مسمى نريده ولكن بشرط بعد التغيير للاسم لازم نلتزم به فى كتابته داخل الاكواد فهنا التكست بوكس بتاع التاريخ اسمه TxDate طيب ليه كتب TxDate.Text .Text لاننا عندما نتعامل مع تاريخ نتعامل معه كانه نص ثم قلنا = Format(Date, "yyyy/mm/dd") يعنى ادرج تاريخ اليوم بالتكست بوكس وبالتنسيق التالى "yyyy/mm/dd" ثم يتنهى الكود بتاع Clear ويعود الكود الى الكود الاصلى وهو Private Sub ChNew_Click() لو رجعنا للكود سنجد اننا قمنا بشرح الاسطر التالية Private Sub ChNew_Click() On Error GoTo 1 If ChNew.Value = True Then Clear ان شاء الله المره الجايه سنبدء من هذا السطر ChCmdSearch.Value = False اتمنى ان اكون وفقت بشرح تقبلوا تحياتى اخوكم حسام
    1 point
  23. اخى خالد حل رائع ومشكور على مجهودك الجبار تقبل تحياتى
    1 point
  24. أخي الكريم لم تستجب لمطلبي بتغيير اسمك للغة العربية .. ورغم عدم استجابتك لمطلبي إلا أنني استجبت لمطلبك إليك الملف التالي ..قم بالإطلاع عليه وموافاتنا بأية ملاحظات .. جرب الملف بشكل جيد بحيث لا يكون هناك توابع فيما بعد تقبل توجيهاتي وتحياتي Add Unique Items In ComboBoxes YasserKhalil.rar
    1 point
  25. استاذى الحبيب الملف تم نقله بالمشاركة الاولى نعم بالفعل يمكن نقل ارصده من اى ملف اكسيل الى البرنامج
    1 point
  26. بسم الله ما شاء الله أخي الحبيب خالد تقديم رائع لحل أروع ..بارك الله فيك تقبل وافر تقديري واحترامي
    1 point
  27. بالنسبة للخلايا الفارغة ضمن هذه المجموغة هل تريد ان تعتبرها أصفاراً اذا نعم هناك معادلة و اذا لا هناك معادلة اخرى
    1 point
  28. اخى الكريم اليك المعادلة التالية على قدر فهمى للطلب =IF(AND(G8>0;J8>0;M8>0;P8>0;S8>0;V8>0;Y8>0;AB8>0;AE8>0;AH8>0);SUM(G8;J8;M8;P8;S8;V8;Y8;AB8);0)
    1 point
  29. وعليكم السلام ورحمة الله جرب أخي الفاضل هذا التعديل عدد الحروف والكلمات مهم--edit.rar
    1 point
  30. جرب وضع الكود التالي بحدث عند الخطأ للنموذج If DataErr = 3022 Then MsgBox "الاسم موجودٌ مسبقاً" Response = acDataErrContinue End If
    1 point
  31. وعليكم السلام ورحمة الله وبركاته أخي وحبيبي في الله أبو يوسف هديء من روعك ... ما الذي أثار غضبك ؟ وأين هذا الجفاء ؟ وما هو التجاهل الذي تقصده ؟ في حقيقة الأمر أنا لست متابعاً جيداً للموضوع حيث أنني لا أفهم طبيعة الملف بحكم أن عملي بعيد عن هذه المصطلحات (سند وقبض وصرف وحاجات كدا ولا أفهم فيها) حاولت أن أقدم في بداية الأمر الشكل العام وتوضيح للنقاط الرئيسية وآملت أن أجد من يقدم أو يكمل المعلومة ..لكن ما باليد حيلة ... أرجو ألا تحزن .. وأقول لك فصبر جميل .. مشكلتي أنني لا أجيد التعامل مع الفورم ولكن هذا لا يمنعني من المحاولة .. إن شاء الله عندما أنتهي من موضوع المصفوفات (لأنه موضوع مفيد جداً) سأحاول أن أكمل معك مشوار هذا البحث رغم أنني أجهل فيه الكثير تقبل وافر تقديري واحترامي
    1 point
  32. وعليكم السلا م أخي حليم ناصر المرفقات لم تعد موجودة الرجاء أعادة تحميلها مرة أخرى لعلك تجد ردا من الأعضاء تحياتي
    1 point
  33. إذا كتبت بعض الكلمات بالإنجليزية في برنامج (Word).. وأردت أن تحولها من حرف صغير إلى كبير أو بالعكس أو تحول أوائل الكلمات إلى كبير .. فاعمل التالي : ظلل النص (بالإنجليزي) اضغط Shift+ F3
    1 point
  34. السلام عليكم ورحمة الله وبركاتة تحياتى للجميع منذ فترة ليست بالقصيرة كنت اود تغير الطريقة المعتادة لحساب النسب المستقطعة او المضافة التى يستخدمها الكثير منا بأستخدام ( IF ) الشرطية . وما ينجم عنها من صعوبة فى تعديلها عند رغبة المستخدم تعديل النسب لاستخدام التداخل فى صيغة ( IF ) الشرطية . وكثرا ما انسى توضيح هذه الفكرة فى زحمة الحياة . واليوم وجدت مشاركة لتقيم الدرجات الى ( ضعيف - جيد - ممتاز ... الخ ) وجدت انها فرصة مناسبة لذلك الفكرة تعتمد على انشاء جدول بالقيم والنسب يسهل التعديل عليه وبأستخدام دالة (VlookUP) تستخرج النتائج بسهولة ويمكن رؤية تأثير تغير النسبة مباشرة عند تغيرها فى الجدول والمرفق به ثلاثة امثلة الاول لاضافة النسبة الى اصل القيمة والثانى لخصم النسبة من اصل القيمة والثالث للتقيم (سواء لدرجات او اداء) والامثلة بالمرفق سهله بإذن الله ______________________________________.rar
    1 point
×
×
  • اضف...

Important Information