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

أ / محمد صالح

أوفيسنا
  • Posts

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

  • Days Won

    198

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

  1. تمت معالجة هذا الأمر كثيرا قبل ذلك ربما تفيدك هذه الروابط Showing results for 'طباعة الكل pdf' in content posted in منتدى الاكسيل Excel . - أوفيسنا (officena.net) بالتوفيق
  2. هذا الأمر له احتمالات كثيرة جدا منها: ضعف إمكانيات الجهاز على حساب المعادلات الموجودة في الشيتات. استعمال معادلات البحث بكثرة يجعل استجابة الملف بطيئة. وغيرها الكثير يفضل إرفاق ملفك أو جزء منه للتعرف على سبب المشكلة بالتوفيق
  3. تفضل أخي الكريم تم استعمال نفس فكرة اليومي والخصم في نفس يوم تاريخ البداية مع اختلاف الشهور بالتوفيق خصم يومي أو شهري تلقائي .xlsx
  4. المطلوب غير واضح لي بصراحة هل المطلوب تجميع أرقام الايام المكتوبة في كل شهر؟ أم خصم 100 دينار كل شهر؟ وإذا كان الخصم شهريا متى يتم الخصم في نفس تاريخ البداية 20 في الشهر أم في بداية الشهر قلت لحضرتك بالتفصيل حتى تصل الفكرة التي في رأسك إلى غيرك بالتوفيق
  5. اين ملفك للعمل عليه مع توضيح المطلوب بمنتهى التفصيل والنتائج المرجوة في الأعمدة المرجوة بالتوفيق
  6. وعليكم السلام ورحمة الله وبركاته، نعم، يمكن القيام بذلك باستخدام VBA في Excel. إليك كود VBA الذي يمكنك استخدامه لتقسيم البيانات إلى ملفات منفصلة كل 30 صف: افتح ملف Excel واضغط على Alt + F11 لفتح محرر VBA. أدخل الكود التالي في وحدة جديدة: Sub SplitDataIntoFiles() Dim ws As Worksheet Dim newWs As Worksheet Dim wb As Workbook Dim newWb As Workbook Dim lastRow As Long Dim i As Long Dim j As Long Dim filePath As String Set ws = ThisWorkbook.Sheets("Sheet1") ' تأكد من أن اسم الورقة صحيح lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row filePath = ThisWorkbook.Path & "\" j = 1 For i = 1 To lastRow Step 30 Set newWb = Workbooks.Add Set newWs = newWb.Sheets(1) ws.Rows(i & ":" & i + 29).Copy Destination:=newWs.Rows(1) newWb.SaveAs filePath & "Data_" & j & ".xlsx" newWb.Close SaveChanges:=False j = j + 1 Next i MsgBox "تم تقسيم البيانات بنجاح!",,"mr-mas.com" End Sub قم بتعديل اسم الورقة في السطر Set ws = ThisWorkbook.Sheets("Sheet1") إذا كان مختلفًا. اضغط على F5 لتشغيل الكود. سيقوم هذا الكود بتقسيم البيانات إلى ملفات منفصلة كل 30 صف وحفظها في نفس مسار الملف الأصلي. بالتوفيق
  7. جرب استعمال هذا الكود For Each cell In range("a2:a10000") cell.Value = "'" & cell.Value Next cell بالتوفيق
  8. لا إله إلا الله لا يوجد حدة ولا تهكم ولا اي شيء مخالف لما تعودنا عليه كلنا يرغب في مساعدة من يريد أن يتعلم ويحتاج لمساعدة بسيطة لكن من يريد الكود كاملا على الجاهز فهذا المنتدى ليس مكان طلب ذلك وللتأكيد على حرصنا على مساعدة الجميع: ما رؤيتك أخي الفاضل في توزيع درجات أعمال السنة بصورة آلية (غير موافقة للواقع وأوراق الاختبارات واجتهاد الطالب مع معلمه وعدد ايام غيابه وسلوكه مع المعلمين) وبالتفصيل حتى يتسنى للجميع مساعدتك يعني مثلا لو المتوسط 36 من 40 كم تريد أن يحصل الطالب في كل خلية وعلى أي اساس يتم اختيار هذا الرقم بالتوفيق
  9. بارك الله لك أخي الكريم يعني الاستاذ الشهابي قام لك بالكود السابق (ولم تكلف نفسك فهم كل سطر فيه حتى يمكنك تعديله فيما بعد) وتريد الآن أن يقوم لك أحدهم بالكود الجديد؟؟؟؟؟؟ ربما حضرتك لم تصل إليك حقيقة أن المنتدى تعليمي لمن يتعلم ويواجه بعض المشكلات أما إن كان أحدنا يريد خدمة مدفوعة من غيره بحيث لا يتعب نفسه فمجالها التعاملات الخاصة وليس موضوعات المنتدى والله الموفق
  10. يا ريت تتفضل علينا بشرح الكود الحالي حتى نتمكن من فهمه ومساعدتك في تعديله
  11. بارك الله لك أستاذ محمد وهذا جهدي المتواضع في كود يحذف الموجود في قائمة الاستثناءات ويبقي غير الموجود وفي نفس العمود Sub FilterUniqueItems() Dim rngA As Range, rngB As Range, cell As Range Dim dict As Object, outputRow As Long Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("الرئيسية") Dim ws2 As Worksheet: Set ws2 = ThisWorkbook.Sheets("استثناءات") Set rngA = ws.Range("A1:A" & ws.Cells(Rows.Count, "A").End(xlUp).Row) Set rngB = ws2.Range("A1:A" & ws2.Cells(Rows.Count, "A").End(xlUp).Row) Set dict = CreateObject("Scripting.Dictionary") For Each cell In rngB dict(cell.Value) = 1 Next cell outputRow = 1 For Each cell In rngA If Not dict.exists(cell.Value) Then ws.Cells(outputRow, "A").Value = cell.Value outputRow = outputRow + 1 End If Next cell ws.Range("A" & outputRow & ":A" & ws.Cells(Rows.Count, "A").End(xlUp).Row).ClearContents MsgBox "Done by mr-mas.com",,"M.A.S" End Sub بالتوفيق للجميع
  12. إجابتي بدون رؤية الملفات؛ لأني على الهاتف حاليا. المعادلة هي مجرد معادلة بحث عن الرقم الموجود في الخلية m12 وجلب القيم من العمود الثالث في النطاق المسمى prod للوصول إلى النطاقات المسماة من تبويب معادلات formulas ثم إدارة الأسماء name manager بالتوفيق
  13. بارك الله فيكم جميعا ولإثراء الموضوع وتحقيقا لهوايتي المفضلة اختصار الأكواد يمكنك أخي صاحب الاستفسار أن تضع هذا الكود مكان الإجراء القديم Sub REs_Data() lr = Sheets("Data").Cells(Rows.Count, 1).End(xlUp).Row lr2 = Sheets("CAll").Cells(Rows.Count, 1).End(xlUp).Row For r = 2 To lr myval = Evaluate("=IFERROR(INDEX(CAll!$C$2:$C$" & lr2 & ",MATCH(B" & r & ",CAll!$A$2:$A$" & lr2 & ",0)),"""")") Range("E" & r).value = IIf(myval = "", Range("E" & r).value, myval) Next r MsgBox "Done by mr-mas.com", , "M.A.S" End Sub بالتوفيق
  14. لا يوجد ما يمنع أن ينقل قيم هذه المعادلة من العمود الجديد إلى العمود B ويحذف العمود الجديد الكمبيوتر يتميز بالمرونة فلكل مشكلة الكثير من الحلول المهم أن يبدع الإنسان ويفكر بالتوفيق للجميع
  15. بعد إذن أخينا الفاضل @محمد هشام. هذه دالة معرفة في vba مختصرة تفي بالغرض بإذن الله Function masRemovePlus(txt As String) As String txt = Trim(txt) Do While Right(txt, 1) = "+" txt = Trim(Left(txt, Len(txt) - 1)) Loop masRemovePlus = txt End Function ويمكن استدعاؤها كالتالي =masRemovePlus(B7) رغم أن معالجتي لمثل هذه الأمور تبدأ من الكود الذي يصدر هذا النص بمعنى أدق تصحيح المعادلة التي تحدد مواد الرسوب حتى لا تكتب علامة زائد في غير موضعها بالتوفيق
  16. الافتراضي هو التنقل بزر tab و shift+tab ويمكن ذلك بضبط خاصية tabindex الخاصة بكل textbox العنصر الذي تريد أن يفتح النموذج عليه تجعل له رقم صفر في خاصية tabindex في نافذة الخصائص بالتوفيق
  17. جرب هذا الكود في أحداث المصنف Private Sub Workbook_SheetActivate(ByVal Sh As Object) ShowScrollBar End Sub أو يمكنك وضع كود showscrollbars في هذا الحدث مباشرة بدون تسميته باسم خاص بالتوفيق
  18. أخي صاحب الاستفسار موضوع الأجازات كبير قليلا. أكبر من هذا التصميم البسيط أخي الكريم. فمعنى مدة الأجازة حسب العقد أن هذه المدة سنويا. فإذا كانت الأجازة نصفها في عام ونصفها في عام آخر يتم حساب رصيد كل سنة على حدة. ويخصم هذا الرصيد من 21 أو 30 (رصيد السنة) وليس على جميع الأجازات التي أخذها الموظف بالتوفيق
  19. قد تحتاج إلى التأكد من أنك تستخدم أحدث إصدار من Microsoft 365، حيث أن هذه الدالة متاحة في Excel لـ Microsoft 3651. وإذا كنت مصريا ولك أبناء في التعليم فيمكنك استعمال البريد الموحد الخاص بهم في تفعيل أوفيس 365 بالتوفيق
  20. ليس لدي تفاصيل عن المشكلة ولكن اعتقد أنه يمكن استعمال الوحدات كنص مثلا بدلا من تمثيلها بالخلايا المدمجة تطبيق ChatGPT هو الأصل في الذكاء الاصطناعي ولكن في رأيي الشخصي Copilot أكثر توافقا مع تطبيقات أوفيس بالتوفيق
  21. بارك الله لك أخي الكريم أولا أرسلت لك إجراء للنسخ وإجراء للصق يمكنك وضعه في زر النسخ واللصق كما تريد (طبعا بدون السطر الأول والأخير الخاصين باسم الإجراء ونهايته؛ لأنه إجراء الزر له بداية ونهاية خاصة به). ثانيا يمكنك التأكد من إضافة مكتبة النماذج من قائمة tools ثم references ثم تبحث عن هذا الاسم وتضع علامة صح بجانبه تم تعديل الكود السابق على الأزرار الخاصة بك بالتوفيق
  22. ما شاء الله ربنا يبارك في حضرتك وعلم حضرتك واجتهادك في فهم كل صغيرة وكبيرة في ملفك قبل أن تطلب مساعدة بسيطة تنقصك أما إذا كنت قد حصلت على هذا الملف بدون جهد وتريد الحصول على التعديل بدون جهد أيضا فأدعو لك بالتوفيق
  23. يمكنك استعمال هذا الكود في النسخ Private Sub CommandButton19_Click() Dim clipboard As Object Set clipboard = New MSForms.DataObject clipboard.SetText TextBox1.Text clipboard.PutInClipboard End Sub وهذا كود اللصق Private Sub CommandButton20_Click() Dim clipboard As Object Set clipboard = New MSForms.DataObject clipboard.GetFromClipboard TextBox6.Text = clipboard.GetText End Sub تأكد من أنك قد أضفت مكتبة “Microsoft Forms 2.0 Object Library” إلى مشروعك لتتمكن من استخدام الكائن DataObject. بالتوفيق
  24. فكرة رائعة أن تجعل برنامجك متعدد اللغات @mohamed Ibrahim 2 ولكن سيكون هذا في عناوين الخلايا فقط والمحتوى هو مدخلات المستخدم مثلا في جدول يحتوي على رقم الموظف والاسم إذا غيرت اللغة سيظهر empNo & Name وهكذا إذا كان هذا هو المطلوب أخبرني لأخبرك بفكرة العمل عليها بالتوفيق
  25. جميل ولكن لا يدعم الصوت باللغة العربية أقترح الكتابة في وورد ونقلها الى اكسل حيث أن الوورد يدعم الإملاء باللغة العربية
×
×
  • اضف...

Important Information