اذهب الي المحتوي
أوفيسنا

أ / محمد صالح

أوفيسنا
  • Posts

    4469
  • تاريخ الانضمام

  • Days Won

    195

كل منشورات العضو أ / محمد صالح

  1. أنصح بالتحول إلى الاصدارات الاحدث فقد صدر بعد 2010 أربع نسخ 2013 2016 2019 365 وربما يفيدك هذا الرابط من موقعي الشخصي
  2. هل انت في وضع التصميم ؟ يعني أثناء تصميمك للملف هل يظهر حول القائمة 8 مقابض لتغيير حجمها؟ يمينا ويسارا واعلى واسفل
  3. القائمة تعمل بصورة طبيعية ربما تكون انتقلت لوضع التصميم design mode من تبويب المطور developer بالتوفيق
  4. ربما تقصد هذا Debug.Print CDbl(DateValue("your string date"))
  5. إذا كنت تقصد الذي بين for و next فهو نفس السطر في الكود المختص الذي فيه n بين 6 و 116
  6. مع كل مجموعة اعمدة متتالية يمكن استعمال الحلقة النكرارية مثلا من 6 الى 25 ومرة اخرى من 28 الى 45 بهذا تركنا العمود رقم 26 و 27 بدون ترحيل وهكذا
  7. رائعة بارك الله لك
  8. حضرتك لا تعدل الشيت التعديل في اسم عنصر التحكم تكست بوكس الذي في النموذج فقط تجدد العنصر وفي جزء الخصائص تكتب الاسم الجديد في الخاصية name هذا إذا كنت ترغب في اختصار الكود
  9. مرة أخرى يجب تسمية العناصر بنفس ترنيب الشيت عنصر العمود f يكون اسمه txt6 عنصر العمود g يكون اسمه txt7 عنصر العمود h يكون اسمه txt8 وهكذا الى نهاية الخلايا التي تتم ترحيلها
  10. مساهمة من العبد لله لإثراء الموضوع تم الاستغناء عن جدول قيم الحروف والزر في النموذج وتم استعمال دالة بسيطة Public Function CharVal(SearchStr) As Long Dim i As Long, myval As Long If Not IsNull(SearchStr) Then Dim d As Object: Set d = CreateObject("Scripting.Dictionary"): d.Add "أ", 1: d.Add "ب", 2: d.Add "ج", 3: d.Add "د", 4: d.Add "ه", 5: d.Add "و", 6: d.Add "ز", 7: d.Add "ح", 8: d.Add "ط", 9: d.Add "ي", 10: d.Add "ك", 20: d.Add "ل", 30: d.Add "م", 40: d.Add "ن", 50: d.Add "س", 60: d.Add "ع", 70: d.Add "ف", 80: d.Add "ص", 90: d.Add "ق", 100: d.Add "ر", 200: d.Add "ش", 300: d.Add "ت", 400: d.Add "ث", 500: d.Add "خ", 600: d.Add "ذ", 700: d.Add "ض", 800: d.Add "ظ", 900: d.Add "غ", 1000: d.Add "ا", 1: d.Add "إ", 1: d.Add "آ", 1: d.Add "ء", 1: d.Add "ى", 10: d.Add "ئ", 10: d.Add "ؤ", 6: d.Add "ة", 5: d.Add " ", 0 For i = 1 To Len(SearchStr) myval = myval + d(Mid(SearchStr, i, 1)) Next i End If CharVal = myval End Function يتم استدعاؤها بعد تحديث مربع النص Private Sub text1_AfterUpdate() Me.text3.Value = CharVal(Me.text1.Value) End Sub تحياتي للجميع mas_charval.mdb
  11. يمكنك دمج المعادلتين معا ضع هذه المعادلة في الخلية H3 =IF(COUNTIF($A$3:$A3,$A3)>1,"",IFERROR(MODE(IF($A$3:$A$900=$A3,$F$3:$F$900)),INT(HARMEAN(IF($A$3:$A$900=$A3,$F$3:$F$900))))) مع الضغط على ctrl+shift+enter بالتوفيق
  12. ياريت توضح اكتر ايه الحطأ بالضبط الرصيد المتاح هو ناتج اضافة الوارد على رصيد اول المدة وطرح المنصرف منهما
  13. أخي الكريم الكود في التعديل الأخير لا يذهب للشيت ليدجر لو لاحظت تم حذف السطر الخاص ب ThisWorkbook.Sheets("ليدجر").Activate ناتي للخطأ الذي ظهر في اول سطر في التعديل الجديد هل قمت بإعادة تسمية العناصر على النموذج ؟ حوالي 110 عنصر يتم اعادة تسميتهم ب txt6 & txt7 & txt8 وهكذا حتى txt116 لا أعتقد أنك قمت بهذه الخطوة
  14. كان يمكنك التوصل لها بمفردك لانها عبارة عن دمج نص مع معادلة باستخدام & تفضل هذا ملفك بعد المطلوب الاخير لاحظ معادلة التنسيق الشرطي في الحليتين بالتوفيق UBIED.xlsx
  15. اعتقد كل هذا موجود في معادلة العمود C ومعادلة التنسيق الشرطي له التي تم تعديلها في الملف السابق هل تعديل معادلتك وشروط التنسيق الشرطي الخاص بك مازالت لا تفي بالغرض؟؟؟
  16. بعد اذن الجميع طالما يحتاج الأمر إلى إصافة شيتات فهذا يحتاج إلى الكود تم وضع معادلة الرصيد تصلح لجميع الشيتات تم وضع اجراء لمسح محتويات الشيت الاول ونسخه بعدد ايام الشهر الحالي بالتوفيق اضافة شيتات بعدد ايام الشهر.xlsb
  17. تفضل هذا ملفك بعد تعديل معادلتك والتنسيق الشرطي واضافة حلي السابق مع التعديل ليراعي الخليتين الفارغتين بالتوفيق UBIED.xlsx
  18. نموذج كارت الصنف يعرض مخزن الاضافة والرصيد المتاح والمنصرف والوارد ورقم الاذن والتاريخ هل تقصد الوحدة الخاصة بالصنف العدد؟ يوجد في البرنامج كله اعتماد على كود الصنف واسم الصنف ورصيده يعني عدد وحداته اما اذا كنت تقصد انواع فرعية من الصنف فيمكنك اضافتها في الاصناف اذا كنت من صمم البرنامج ستعرف ان جرد المخزن يقوم بحساب 7 خانات لحوالي 5200 صنف وهذا شيء طبيعي ان ياخذ وقتا في معالجته
  19. اقتراحي لاختصار وتسريع كود الترحيل من الفورم للشيت هو ان تقوم بتسمية عناصر التحكم في النموذج بنفس ترتيب الشيت فمثلا العمود F هو العمود رقم 6 نسمي مربع النص الذي سيتم ترحيله للعمود F ب txt6 وهكذا مع باقي العناصر جتى txt116 وهو الذي سيتم ترحيله للعمود DL واستعمال هذا الكود البسيط للترحيل ومسح محتويات النموذج Private Sub CommandButton6_Click() answer = MsgBox ("هل أنت متأكد من تعديل البيانات", vbQuestion + vbYesNo + vbDefaultButton2, "تأكيد التعديل") If answer = vbYes Then Dim rng1 As Range, str_search As String, row_number As Long,n as long str_search = Txt3.Value Set rng1 = Sheets("ليدجر").Range("E:E").Find(str_search, , xlValues, xlWhole) If Not rng1 Is Nothing Then row_number = rng1.Row Application.ScreenUpdating = False For n = 6 To 116 Sheets("ليدجر").Cells(row_number, n).Value = Me.Controls("txt" & n).Value Next n For n = 6 To 116 Me.Controls("txt" & n).Value = "" Next n Application.ScreenUpdating = True End If End If MsgBox "تم التعديل بنجاح" End Sub بالتوفيق
  20. لدي اوفيس 365 الحديث بعد 2019 نسخة 64bit
  21. من الواضح أن البرنامج تم تصميمه وتحويله الي accde باكسس 2016 او 2019
  22. طالما ان صاحب الاستفسار مشغول عن استفساره هذا رأيي في تنفيذ المطلوب بكود vba تم اضافة شكل ليتم كتاة رقم الاستمارة فيه ويمكن تصميم الاستمارة كما يشاء فقط يحتاج.الي استدعاء الماكرو باسم printcur ويمكن ربطه بزر او شكل طباعة رقم الاستمارة.docm
  23. ماذا يظهر لك عند تشغيل الملف يفضل ارفاق صورة
  24. تفضل اخي الكريم تم تعديل النموذج a1 وخصوصا زر توزيع المبلغ وتم تعديل النموذج a2 في مصدره ومصادر مربعات النصوص وتم تعديل جدول t_m الكود في زر التوزيع يراعي المبلغ المتبقي بعد عدد الاقساط اذا كان اكبر من قيمة القسط او لا لاحظ توزيع القسط والفائدة واجمالي القسط في السجل الأخير بالتوفيق ‫الأقساط ‫‬1.mdb
×
×
  • اضف...

Important Information