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

أ / محمد صالح

أوفيسنا
  • Posts

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

  • Days Won

    195

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

  1. الكود السابق يملأ الخلايا الفارغة كلها بدون شروط لذا يلزم إضافة شرط يمكنك استعمال هذا الاجراء تم إضافة شرط أن تكون خلية العمود B في نفس الصف غير فارغة Sub masFillBlanks() Dim rng As Range For Each rng In Range("H11:AT75") If Range("b" & rng.Row) <> "" And IsEmpty(rng) Then rng.Value = "-" Next MsgBox "Done by mr-mas.com" End Sub وهذا نفس الاجراء بطريقة أخرى Sub masFillBlanks2() Dim arr, r As Long, c As Long arr = Range("H11:AT75").Value For r = LBound(arr, 1) To UBound(arr, 1) If Range("b" & r + 10) <> "" Then For c = LBound(arr, 2) To UBound(arr, 2) If IsEmpty(arr(r, c)) Then Cells(r + 10, c + 7) = "-" Next c End If Next r MsgBox "Done by mr-mas.com" End Sub وأنصح بعدم وجود صفوف أو أعمدة زيادة مثل ما بعد الصف 47 وlما بعد العمود AN بالتوفيق
  2. يفضل إرفاق ملفك وتوضيح المطلوب بمنتهى التفصيل مع ذكر النتيجة النهائية المطلوبة
  3. مادمت لم تعرف كيف تتواصل مع المبرمج يمكنك الإستفادة من هذه الموضوعات المفتوحة المصدر https://www.officena.net/ib/search/?q=date picker&quick=1&type=forums_topic&nodes=135&search_and_or=and بالتوفيق
  4. حسب فهمي للمطلوب جرب هذه المعادلة =IF(A1>10,33.5+(A1-10)*4.25,A1*3.35) وتعني إذا كان قيمة A1 اكبر من 10 فيتم إضافة 33.5 وهي ناتج ضرب العشرة ايام في 3.35 زائد باقي الأيام فوق العشرة في 4.25 بالتوفيق
  5. المنتدى به كنوز رائعة تحتاج فقط من يبحث عنها https://www.officena.net/ib/search/?q=صورة الموظف&quick=1&type=forums_topic&nodes=135&search_and_or=and بالتوفيق
  6. أخي الكريم صاحب الموضوع اول خطوة لتعديل الكود فهمه وفهم متغيراته والكود القديم يقوم بنقل قيمة العمود J إلى العمود 19 بعد العمود الأول في شيت البيانات والمطلوب إضافة نفس الكود عند تعديل العمود G ويتم نقله إلى العمود 16 بعد العمود الأول في شيت البيانات لذلك يصبح الكود بعد التعديل Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next Dim ws As Worksheet Set ws = Sheets("البيانات") Dim c, x Application.ScreenUpdating = False If Not Intersect(Target, Range("g8:g1000")) Is Nothing Then c = Target.Offset(, -9) x = Application.Match(c, ws.Columns(1), 0) ws.Cells(x, 1).Offset(, 16) = Target Ebd If If Not Intersect(Target, Range("j8:j1000")) Is Nothing Then c = Target.Offset(, -9) x = Application.Match(c, ws.Columns(1), 0) ws.Cells(x, 1).Offset(, 19) = Target End If Application.ScreenUpdating = True End Sub لاحظ تم تكرار سطور الشرط للعمودين g و j مع تغيير رقم العمود المرحل إليه مرة 19 ومرة 16 بالتوفيق
  7. أخي الكريم يوجد في ملفك مجموعات من الأرقام غير المتسلسلة لأنه بين كل رقم والذي يليه مرة 100 ومرة 200 ومرة 500 وهكذا كل مجموعة 11 عمود في 50 صف والعمود الأخير غير كامل وبين كل مجموعة والثانية 7 اعمدة فارغة هذا وصف دقيق للموجود بالملف فيا ريت تضيف شيت جديد في ملفك به الصورة النهائية المطلوب الوصول إليها مع وصف دقيق وبمنتهى التفاصيل عن كيف وصلت لهذه الصورة المطلوبة وساعتها يمكن بإذن الله تحويل ما قمت به إلى معادلات أو أكواد للوصول للصورة النهائية المطلوبة بالتوفيق
  8. كيف يتم حسابها في الواقع؟ وساعتها يمكن تحويلها لمعادلة
  9. بعد إذن أخي محي الدين جرب تغيير الاجراء إلى هذا الكود هذا باستعمال الاسم البرمجي للشيت ودالة cells Sub test() Dim a, col As Long a = Range(Worksheet____37.Cells(10, 8), Worksheet____37.Cells(39, 8)).Value col = Application.Match(Worksheet____37.Cells(9, 8), Worksheet____60.Range("a9:m9"), 0) Worksheet____60.Cells(10, col).Resize(30) = a MsgBox "Done by mr-mas.com" End Sub وهذا نفس الاجراء باسم الشيت والنطاق Sub mrmas() Dim a, col As Long a = Sheets("طباعة حافظة التقارير").Range("h10:h39").Value col = Application.Match(Sheets("طباعة حافظة التقارير").Range("h9"), Sheets("ارشيف التقارير").Range("a9:m9"), 0) Sheets("ارشيف التقارير").Cells(10, col).Resize(30) = a MsgBox "Done by mr-mas.com" End Sub بالتوفيق
  10. وهذا رابط للبحث Showing results for 'القروش الجنيهات' in content posted in منتدى الاكسيل Excel . - أوفيسنا (officena.net) بالتوفيق
  11. لقد عرضت لك الحل كاملا نظرا لسرية البيانات وخصوصا بيانات الدخول (اسم المستخدم وكلمة المرور) على موقع رسمي كهذا
  12. يرجع ذلك لأن الأرقام التي في الخلايا منسقة ك نص ولذلك تجد ظهور مثلث أصفر يخبر بهذا الخطأ the number in this cell is formatted as text والحل تحديد جميع الخلايا ثم الضغط على المثلث الأصفر واختيار convert to number بالتوفيق
  13. الكود لا يضر الموقع ولا يظهر عندهم الكود يقوم بما يقوم به المستخدم ولكن بصورة آلية تحتاج قبل البدء معرفة ID حقل اسم المستخدم وكذلك كلمة المرور وكذلك زر الدخول وبعدها ID لكل حقل سيتم تعبئته من الشيت وكل زر سيتم الضغط عليه لمعرفة ID لعنصر نضغط بزر الفارة الأيمن على العنصر في المتصفح ونختار inspect element وبعدها نستخدم كود انشاء نسخة من كائن متصفح انترنت اكسبلورر بمثل هذا الكود Dim IE As Object, site as String Set IE = CreateObject("InternetExplorer.Application") site = "https://www.example.com/" With IE .Visible = True .navigate site Do Until Not IE.Busy And IE.readyState = 4 DoEvents Loop End With IE.Document.getElementById("username").Value = range("aa1").value IE.Document.getElementById("password").Value = range("ab1").value IE.Document.getElementById("login_go").Click Do Until Not IE.Busy And IE.readyState = 4 DoEvents Loop وهكذا في كتابة قيم الحقول من الشيت نستعمل حلقة تكرارية مثل for - next وهكذا الضغط على اي زر لحفظ البيانات مثلا بالتوفيق
  14. هل الموقع يفتح بصورة طبيعية في متصفح انترنت اكسبلورر؟ إذا كانت الإجابة بنعم فمن السهل إنجاز المهمة بالكود وإذا كان الموقع لا يمكن فتحه ويتطب متصفحا حديثا مثل جوجل كروم أو فايرفوكس فالأمر أكثر صعوبة
  15. الحمد لله الذي وفقنا جميعا لهذا
  16. كل عام وأنتم جميعا بكل خير يمكنك استعمال هذه المعادلة في الخلية C2 مع سحب المعادلة يسارا ثم أسفل =SUMIFS('Data '!$E:$E,'Data '!$A:$A,$A2,'Data '!$C:$C,">="&C$1,'Data '!$C:$C,"<="&EOMONTH(C$1,0)) مع ضرورة حذف المسافة في نهاية اسم الشيت data حتى لا تتسبب في مشكلات بعد ذلك بالتوفيق
  17. عليكم اسلام ورحمة الله وبركاته يمكنك استعمال دالة العد بشروط countifs هذه المعادلة في Y2 لعد ايام الحضور =COUNTIFS(B:B,AA3,C:C,Z3,F:F,"حضور") وهذه في X2 لعد ايام الغياب =COUNTIFS(B:B,AA3,C:C,Z3,F:F,"غياب") مع سحب المعادلة لأسفل بالتوفيق
  18. يمكنك التحكم في النطاق بدالة iif بصورة طبيعية بتكرار الشرط في جزء عدم التحقق For Each c In IIf(Me.OptionButton4, x.Range("A9:A" & ss), IIf(Me.OptionButton5, x.Range("B9:B" & ss), x.Range("C9:C" & ss))) بالتوفيق
  19. تقريبا حجم الصفحة في اعدادات الملف letter ولكن حجم الورق في الطابعة A4
  20. تفضل تمت اعادة هيكلة جزء البحث في النموذج بالتوفيق التعديل على كود البحث.xlsm
  21. يمكن رفع الملف على OneDrive ومشاركة الرابط مع الجميع مع فتح الملف بأوفيس 2016 وما بعده بالتوفيق
  22. يفترض أنه تم حل شيء شبيه بهذا لك قبل ذلك فأين محاولتك والتي تدل على الاستفادة مما سبق تعلمه؟
  23. يبدو أن حضرتك ما جربت الحلين في المشاركة السابقة
  24. بارك الله لك وكل عام وانتم بخير وصحة وسعادة تم تغيير الامتداد لتقليل الحجم وإعادة رفع الملف
×
×
  • اضف...

Important Information