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

أ / محمد صالح

أوفيسنا
  • Posts

    4,444
  • تاريخ الانضمام

  • Days Won

    192

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

  1. يوجد شيء غريب في الصورة المرفقة منك في المشاركة السابقة وهي عدم تفعيل زر وضع التصميم لونه باهت والطبيعي في حال تنشيطه يكون كما في الصورة التالية لاحظ الصورة السابقة لي كانت مع عدم تنشيط وضع التصميم هذه الصورة مع تنشيطه وظهور 8 مقابض للتحجيم
  2. ليس منطقيا ابدا الكلام النظري في هذه الحالة لا يفيد يفضل إرفاق الجزء الخاص بالمشكلة من ملفك افضل من التخمينات وعدم الوضوح
  3. وهل هذا الفهم خطأ؟ أليس 1 ديسمبر 2021 اصغر من 2 ديسمبر 2021 وهما معا أصغر من 1 يناير 2022 ؟؟
  4. ؟؟؟ هذا الذي اقوم به وتعمل معي فتح تبويب المطور الغاء تنشيط وضع التصميم ان كان نشطا الضغط على السهم لفتح القائمة
  5. أنصح بالتحول إلى الاصدارات الاحدث فقد صدر بعد 2010 أربع نسخ 2013 2016 2019 365 وربما يفيدك هذا الرابط من موقعي الشخصي
  6. هل انت في وضع التصميم ؟ يعني أثناء تصميمك للملف هل يظهر حول القائمة 8 مقابض لتغيير حجمها؟ يمينا ويسارا واعلى واسفل
  7. القائمة تعمل بصورة طبيعية ربما تكون انتقلت لوضع التصميم design mode من تبويب المطور developer بالتوفيق
  8. ربما تقصد هذا Debug.Print CDbl(DateValue("your string date"))
  9. إذا كنت تقصد الذي بين for و next فهو نفس السطر في الكود المختص الذي فيه n بين 6 و 116
  10. مع كل مجموعة اعمدة متتالية يمكن استعمال الحلقة النكرارية مثلا من 6 الى 25 ومرة اخرى من 28 الى 45 بهذا تركنا العمود رقم 26 و 27 بدون ترحيل وهكذا
  11. رائعة بارك الله لك
  12. حضرتك لا تعدل الشيت التعديل في اسم عنصر التحكم تكست بوكس الذي في النموذج فقط تجدد العنصر وفي جزء الخصائص تكتب الاسم الجديد في الخاصية name هذا إذا كنت ترغب في اختصار الكود
  13. مرة أخرى يجب تسمية العناصر بنفس ترنيب الشيت عنصر العمود f يكون اسمه txt6 عنصر العمود g يكون اسمه txt7 عنصر العمود h يكون اسمه txt8 وهكذا الى نهاية الخلايا التي تتم ترحيلها
  14. مساهمة من العبد لله لإثراء الموضوع تم الاستغناء عن جدول قيم الحروف والزر في النموذج وتم استعمال دالة بسيطة 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
  15. يمكنك دمج المعادلتين معا ضع هذه المعادلة في الخلية 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 بالتوفيق
  16. ياريت توضح اكتر ايه الحطأ بالضبط الرصيد المتاح هو ناتج اضافة الوارد على رصيد اول المدة وطرح المنصرف منهما
  17. أخي الكريم الكود في التعديل الأخير لا يذهب للشيت ليدجر لو لاحظت تم حذف السطر الخاص ب ThisWorkbook.Sheets("ليدجر").Activate ناتي للخطأ الذي ظهر في اول سطر في التعديل الجديد هل قمت بإعادة تسمية العناصر على النموذج ؟ حوالي 110 عنصر يتم اعادة تسميتهم ب txt6 & txt7 & txt8 وهكذا حتى txt116 لا أعتقد أنك قمت بهذه الخطوة
  18. كان يمكنك التوصل لها بمفردك لانها عبارة عن دمج نص مع معادلة باستخدام & تفضل هذا ملفك بعد المطلوب الاخير لاحظ معادلة التنسيق الشرطي في الحليتين بالتوفيق UBIED.xlsx
  19. اعتقد كل هذا موجود في معادلة العمود C ومعادلة التنسيق الشرطي له التي تم تعديلها في الملف السابق هل تعديل معادلتك وشروط التنسيق الشرطي الخاص بك مازالت لا تفي بالغرض؟؟؟
  20. بعد اذن الجميع طالما يحتاج الأمر إلى إصافة شيتات فهذا يحتاج إلى الكود تم وضع معادلة الرصيد تصلح لجميع الشيتات تم وضع اجراء لمسح محتويات الشيت الاول ونسخه بعدد ايام الشهر الحالي بالتوفيق اضافة شيتات بعدد ايام الشهر.xlsb
  21. تفضل هذا ملفك بعد تعديل معادلتك والتنسيق الشرطي واضافة حلي السابق مع التعديل ليراعي الخليتين الفارغتين بالتوفيق UBIED.xlsx
  22. نموذج كارت الصنف يعرض مخزن الاضافة والرصيد المتاح والمنصرف والوارد ورقم الاذن والتاريخ هل تقصد الوحدة الخاصة بالصنف العدد؟ يوجد في البرنامج كله اعتماد على كود الصنف واسم الصنف ورصيده يعني عدد وحداته اما اذا كنت تقصد انواع فرعية من الصنف فيمكنك اضافتها في الاصناف اذا كنت من صمم البرنامج ستعرف ان جرد المخزن يقوم بحساب 7 خانات لحوالي 5200 صنف وهذا شيء طبيعي ان ياخذ وقتا في معالجته
  23. اقتراحي لاختصار وتسريع كود الترحيل من الفورم للشيت هو ان تقوم بتسمية عناصر التحكم في النموذج بنفس ترتيب الشيت فمثلا العمود 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 بالتوفيق
×
×
  • اضف...

Important Information