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

أ / محمد صالح

أوفيسنا
  • Posts

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

  • Days Won

    195

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

  1. هل كان الكود المستخدم من قبل الأستاذ حلمي فؤاد بدون مكتبات dll أو ocx ؟؟ لو يوجد واستعمل في الأكسس يمكن تطويعه للاستخدام في اكسل
  2. تفضل ملفك بعد تعديل أرقام الأعمدة في الصف الأول وتعديل المسلسل في العمودين A & E وتعديل كود الاجراء mas_getdata4 واضافة عمودين لحساب النوع وعدد البنين والبنات للعلم بعض خلايا الرقم القومي ناقصة بالتوفيق قائمة فصل.xlsm
  3. صاحب السؤال يقول والشرح بالفيديو يستخدم google chart api مثلها مثل مكتبات dll & ocr & QR4Office فضلا عن أن هذه المكتبات لا تتطلب الاتصال بالنترنت مثل google chart api
  4. يمكن استعمال المعادلة التالية في الخلية J17 من شيت المقسطون ='تسديد عميل'!C9 وهي لجلب قيمة عدد الأشهر المسددة مع وضع هذا الكود في حدث عند تغيير محتوى شيت المقسطون Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$D$3" Then Sheets("تسديد عميل").Range("b2").Value = Target.Value End Sub وهو يقوم بوضع رقم الملف المكتوب في شيت المقسطون في مكانه في شيت تسدسد عميل حتى يتم جلب الاشهر المسددة هناك أولا والمعادلة تجلبها هنا بالتوفيق
  5. التاريخ في حقل تاريخ الميلاد نص وليس تاريخا تم تحوله إلى تاريخ باكواد vba وإعادة تنسيقه ووضع خلية بها تاريخ حساب السن ووضع معادلة السن باليوم والشهر والسنة بالتوفيق تنسيق رياض الاطفال - Copy.xlsx
  6. لا أدري هل ظهر هذا بعد إلغاء تثبيت السيرفر ثم إعادة تثبيته فقط أم تمت بعض التغييرات في مجلدات السيرفر على العموم جرب ما يلي: الخروج من سيرفر Xampp الذهاب إلى المجلد E:\xampp\mysql\data تغييراسم ملف ibdata1 إلى مثلا ibdata1_old إعادة تشغيل سيرفر xampp إن شاء الله يعمل بعدها بالتوفيق
  7. أشك في وجود كود vba خالص لهذه العملية لابد من وجود مكتبات مساعدة dll او ocx بالتوفيق
  8. أكواد 32بت لا تعمل على 64بت والعكس صحيح والصواب أن يجمع الكود بين النواتين #if vba7 then 64bit codes #else 32bit codes #end if والفرق بين الكودين وضع ptrsafe قبل function أو sub
  9. نفعنا الله جميعا بما علمنا وعلمنا ما ينفعنا بالتوفيق
  10. الحل من وجهة نظري هو حماية تركيب المصنف فلا يمكن للمستخدم تغيير اسماء الشيتات ولا ترتيبها Review ---> protect workbook ---> password ---> structure ---> OK وبالنسبة للتعبير عن الشيت فهناك 3 طرق أولها ترتيب الشيت sheets(1) وللشيت اسمان اسم ظاهر في التبويبات وهذا في الكود الذي يعبر عنه sheet1.name والاسم البرمجي وهو يظهر في مستكشف المشروع في شاشة vbe ويكون رمزه sheets("data").codename وهذا الاسم البرمجي codename هو الذي لا يتأثر بتغير ترتيب الشيت ولا تسميته ففي الصورة السابقة Name = Data Codename = Sheet1 index = 1 بالتوفيق
  11. وفيكم بارك الله الرسم البياني للفرع كله فعلا اعتمادا على جدول البيانات المجاور للرسم البياني (الموظفين ونسب تحقيق الأهداف لجميع المنتجات) المتبقي يفهم من نسبة تحقيق الهدف مثلا المحقق 10٪ فالمتبقي 90٪ وإذا أضفتها سيتضاعف عدد الأعمدة 20 موظف ضرب 2 عمود ضرب 5 منتجات = 200 عمود (كثير جدا) لذا أنصح بعمود النسبة فقط والباقي هو ما يكمل المائة (معروفة) لا أدري ما المقصود بإجمالي المحقق للفرع كله؟ وإذا كنت تريد عملها فأعتقد في رسم بياني آخر مستقل تكون بياناته اجمالي المحقق للفروع كلها إجمالا او لكل منتج على حده بالتوفيق
  12. الجزء الخاص بالتاريخ على افتراض انه في العمود D الذي يلي C بمقدار عمود 1 هو F.Offset(0, 1) = ComboBox2.Text ولتغييره للعمود A الذي يسبق C بمقدار 2 F.Offset(0, -2) = ComboBox2.Text لذلك جرب الكود كاملا Set ws = Sheets("اصناف") For Each F In ws.Range("c5:c5000") If F = ComboBox1.Text and F.Offset(0, -2) = ComboBox2.Text Then ws.Select F.Select Exit For End If Next F ActiveCell.Value = ComboBox1.Value ActiveCell.Offset(0, 4).Value = TextBox4 ActiveCell.Offset(0, 5).Value = TextBox5 ActiveCell.Offset(0, 6).Value = TextBox6 ActiveCell.Offset(0, 9).Value = TextBox7 ActiveCell.Offset(0, 10).Value = TextBox8 MsgBox "تم تعديل البيانات بنجاح" End Sub وكان ينبغي أن تتوصل لها وحدك بالتوفيق
  13. كان ينبغي تحديد موضع عمود التاريخ على فرض ان اسم الصنف في العمود C والتاريخ في العمود D Set ws = Sheets("اصناف") For Each F In ws.Range("c5:c5000") If F = ComboBox1.Text and F.Offset(0, 1) = ComboBox2.Text Then ws.Select F.Select Exit For End If Next F ActiveCell.Value = ComboBox1.Value ActiveCell.Offset(0, 4).Value = TextBox4 ActiveCell.Offset(0, 5).Value = TextBox5 ActiveCell.Offset(0, 6).Value = TextBox6 ActiveCell.Offset(0, 9).Value = TextBox7 ActiveCell.Offset(0, 10).Value = TextBox8 MsgBox "تم تعديل البيانات بنجاح" End Sub بالتوفيق
  14. لا طبعا ليست بسهولة الفرز في الشيت تحتاج الى اكواد كثيرة
  15. يمكنك تنفيذ هذا الكود ونفس الطريقة على الملف الآخر
  16. لا أعتقد وجود معادلة تقوم بهذا الدور لذلك يمكنك استعمال اكواد vba مع ملاحظة ان اختيار الاسم في شيت A يجب ان يكون من قائمة الاسماء في شيت B لضمان المطابقة تم وضع معادلات للعد وكود لجلب أيام العياب مجمعة بالتوفيق دمج أيام الغياب في خلية واحدة.xlsb
  17. جرب استعمال هذا الكود Sub masTar7eel() Application.ScreenUpdating = 0 Range("B2:B16").Copy Sheets("الشيت").Select lr = Cells(Rows.Count, 1).End(xlUp).Row + 1 Range("A" & lr).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True Application.CutCopyMode = 0 Range("A" & lr).Select Sheets("ادخال بيانات").Select Range("B2:B16").ClearContents Range("B2").Select Application.ScreenUpdating = 1 MsgBox "Done by mr-mas.com" End Sub وهو عبارة عن تسجيل ماكرو لنسخ الخلايا من الشيت الاول الى آخر صف في الشيت الثاني مع خيار اللصق transpose ولا تنس أن تحفظ الملف بامتداد يدعم الاكواد مثل xlsb بالتوفيق
  18. الكود يعمل بصورة جيدة بشرط ألا تكون بيانات العمود المطلوب فارغة في شيت البيانات الأساسية جرب أن تكتب مسافة فقط في اول خلية في عمود تاريخ العودة وعمود ملاحظات في شيت البيانات الأساسية وقم بالضغط على الزر لن تجد أي خطأ
  19. عذرا أخي الكريم الهدف من المنتدى تعليمي وليس عمل برامج الناس جاهزة وإذا كان لديك الملف والكود صحيحين ثم أجريت تغييرا في مواضع الأعمدة ولا تستطيع تغيير هذه الأماكن في الكود فأنت لم تتعلم بل استخدمت الكود جاهزا خالص دعواتي بأن يفتح الله عليك وتستطيع تعديل الكود
  20. إن شاء الله تفيدك هذه المحاولة يمكنك تغيير خصائص الرسم البياني بالضغط في أي مكان فارغ فيه ثم الضغط على زر القمع واختيار المنتجات التي تريدها والموظفين الذين تريدهم بالتوفيق رسم بياني لنسب الأهداف.xlsx
  21. يمكنك استعمال هذا الإجراء وربطه بشكل أو زر في شيت سجل قيد بيانات Sub mas_getdata() Dim sh As Worksheet, n As Long, lr As Long, lr2 As Long Set sh = Sheets("data") lr = sh.Cells(Rows.Count, 2).End(xlUp).Row Application.ScreenUpdating = 0 Range("b17:s218").ClearContents For n = 9 To lr If sh.Range("f" & n) = [e2] And sh.Range("g" & n) = [e3] Then lr2 = Cells(Rows.Count, 2).End(xlUp).Row + 1 lr2 = IIf(lr2 < 17, 17, lr2) For c = 2 To 19 Cells(lr2, c) = sh.Cells(n, Cells(1, c)) Next c End If Next n Application.ScreenUpdating = 1 MsgBox "Done by mr-mas.com" End Sub ملحوظة: تم استخدام الأرقام في الصف الأول في الكود فلا يجب مسحها يمكن إخفاء الصف بالتوفيق
  22. ربما يكون هذا هو المطلوب .. تم إضافة تاريخ السداد المبكر في الخلية L15 تعديل معادلة العمود B & C تعديل معادلة الأشهر المسددة .. بالتوفيق ‫المثال ء _2.xlsm
  23. ظننت الأمر أكبر من ذلك من الواضح أن ملف msi المرفق ليس إلا عملية إعادة تسمية لقاعدة البيانات accdb كما اقترح أ / @أبو إبراهيم الغامدي لأنه عند فك تجميع الملف بكود فك تجميع ملفات msi في الدوس ظهرت هذه الرسالة وهذا يعني أنه ليس ملف msi صحيح ولا يحتوي على تحزيم لمجموعة من الملفات داخله بالتوفيق
  24. لدي أوفيس 365 وأستعمل هذه الطريقة تنجح مع الملفات التي تم تصديرها من الوورد غير ذلك نسبة النجاح لا تتعدى 60٪
  25. يمكنك استعمال هذا الكود textbox1.value = sheets("ليذجر").cells(rows.count,5).end(xlup).value بالتوفيق
×
×
  • اضف...

Important Information