-
Posts
4486 -
تاريخ الانضمام
-
Days Won
198
نوع المحتوي
التقويم
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو أ / محمد صالح
-
تمت معالجة هذا الأمر كثيرا قبل ذلك ربما تفيدك هذه الروابط Showing results for 'طباعة الكل pdf' in content posted in منتدى الاكسيل Excel . - أوفيسنا (officena.net) بالتوفيق
-
هذا الأمر له احتمالات كثيرة جدا منها: ضعف إمكانيات الجهاز على حساب المعادلات الموجودة في الشيتات. استعمال معادلات البحث بكثرة يجعل استجابة الملف بطيئة. وغيرها الكثير يفضل إرفاق ملفك أو جزء منه للتعرف على سبب المشكلة بالتوفيق
-
تفضل أخي الكريم تم استعمال نفس فكرة اليومي والخصم في نفس يوم تاريخ البداية مع اختلاف الشهور بالتوفيق خصم يومي أو شهري تلقائي .xlsx
-
المطلوب غير واضح لي بصراحة هل المطلوب تجميع أرقام الايام المكتوبة في كل شهر؟ أم خصم 100 دينار كل شهر؟ وإذا كان الخصم شهريا متى يتم الخصم في نفس تاريخ البداية 20 في الشهر أم في بداية الشهر قلت لحضرتك بالتفصيل حتى تصل الفكرة التي في رأسك إلى غيرك بالتوفيق
-
اين ملفك للعمل عليه مع توضيح المطلوب بمنتهى التفصيل والنتائج المرجوة في الأعمدة المرجوة بالتوفيق
-
تقسيم ملف حسب عدد الصفوف لعدة ملفات منفصلة
أ / محمد صالح replied to مصطفى شاهين's topic in منتدى الاكسيل Excel
وعليكم السلام ورحمة الله وبركاته، نعم، يمكن القيام بذلك باستخدام 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 صف وحفظها في نفس مسار الملف الأصلي. بالتوفيق -
جرب استعمال هذا الكود For Each cell In range("a2:a10000") cell.Value = "'" & cell.Value Next cell بالتوفيق
-
لا إله إلا الله لا يوجد حدة ولا تهكم ولا اي شيء مخالف لما تعودنا عليه كلنا يرغب في مساعدة من يريد أن يتعلم ويحتاج لمساعدة بسيطة لكن من يريد الكود كاملا على الجاهز فهذا المنتدى ليس مكان طلب ذلك وللتأكيد على حرصنا على مساعدة الجميع: ما رؤيتك أخي الفاضل في توزيع درجات أعمال السنة بصورة آلية (غير موافقة للواقع وأوراق الاختبارات واجتهاد الطالب مع معلمه وعدد ايام غيابه وسلوكه مع المعلمين) وبالتفصيل حتى يتسنى للجميع مساعدتك يعني مثلا لو المتوسط 36 من 40 كم تريد أن يحصل الطالب في كل خلية وعلى أي اساس يتم اختيار هذا الرقم بالتوفيق
-
بارك الله لك أخي الكريم يعني الاستاذ الشهابي قام لك بالكود السابق (ولم تكلف نفسك فهم كل سطر فيه حتى يمكنك تعديله فيما بعد) وتريد الآن أن يقوم لك أحدهم بالكود الجديد؟؟؟؟؟؟ ربما حضرتك لم تصل إليك حقيقة أن المنتدى تعليمي لمن يتعلم ويواجه بعض المشكلات أما إن كان أحدنا يريد خدمة مدفوعة من غيره بحيث لا يتعب نفسه فمجالها التعاملات الخاصة وليس موضوعات المنتدى والله الموفق
-
يا ريت تتفضل علينا بشرح الكود الحالي حتى نتمكن من فهمه ومساعدتك في تعديله
-
بارك الله لك أستاذ محمد وهذا جهدي المتواضع في كود يحذف الموجود في قائمة الاستثناءات ويبقي غير الموجود وفي نفس العمود 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 بالتوفيق للجميع
-
إجابتي بدون رؤية الملفات؛ لأني على الهاتف حاليا. المعادلة هي مجرد معادلة بحث عن الرقم الموجود في الخلية m12 وجلب القيم من العمود الثالث في النطاق المسمى prod للوصول إلى النطاقات المسماة من تبويب معادلات formulas ثم إدارة الأسماء name manager بالتوفيق
-
ترحيل اخر تحديث للتاريخ من صفحة الى الجدول الرئيسي
أ / محمد صالح replied to Moh2024's topic in منتدى الاكسيل Excel
بارك الله فيكم جميعا ولإثراء الموضوع وتحقيقا لهوايتي المفضلة اختصار الأكواد يمكنك أخي صاحب الاستفسار أن تضع هذا الكود مكان الإجراء القديم 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 بالتوفيق -
بعد إذن أخينا الفاضل @محمد هشام. هذه دالة معرفة في 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) رغم أن معالجتي لمثل هذه الأمور تبدأ من الكود الذي يصدر هذا النص بمعنى أدق تصحيح المعادلة التي تحدد مواد الرسوب حتى لا تكتب علامة زائد في غير موضعها بالتوفيق
-
الافتراضي هو التنقل بزر tab و shift+tab ويمكن ذلك بضبط خاصية tabindex الخاصة بكل textbox العنصر الذي تريد أن يفتح النموذج عليه تجعل له رقم صفر في خاصية tabindex في نافذة الخصائص بالتوفيق
-
تعديل كود اظهار شريط التمرير الأفقي والراسي
أ / محمد صالح replied to ضياء 2's topic in منتدى الاكسيل Excel
جرب هذا الكود في أحداث المصنف Private Sub Workbook_SheetActivate(ByVal Sh As Object) ShowScrollBar End Sub أو يمكنك وضع كود showscrollbars في هذا الحدث مباشرة بدون تسميته باسم خاص بالتوفيق -
أخي صاحب الاستفسار موضوع الأجازات كبير قليلا. أكبر من هذا التصميم البسيط أخي الكريم. فمعنى مدة الأجازة حسب العقد أن هذه المدة سنويا. فإذا كانت الأجازة نصفها في عام ونصفها في عام آخر يتم حساب رصيد كل سنة على حدة. ويخصم هذا الرصيد من 21 أو 30 (رصيد السنة) وليس على جميع الأجازات التي أخذها الموظف بالتوفيق
-
قد تحتاج إلى التأكد من أنك تستخدم أحدث إصدار من Microsoft 365، حيث أن هذه الدالة متاحة في Excel لـ Microsoft 3651. وإذا كنت مصريا ولك أبناء في التعليم فيمكنك استعمال البريد الموحد الخاص بهم في تفعيل أوفيس 365 بالتوفيق
-
بارك الله لك أخي الكريم أولا أرسلت لك إجراء للنسخ وإجراء للصق يمكنك وضعه في زر النسخ واللصق كما تريد (طبعا بدون السطر الأول والأخير الخاصين باسم الإجراء ونهايته؛ لأنه إجراء الزر له بداية ونهاية خاصة به). ثانيا يمكنك التأكد من إضافة مكتبة النماذج من قائمة tools ثم references ثم تبحث عن هذا الاسم وتضع علامة صح بجانبه تم تعديل الكود السابق على الأزرار الخاصة بك بالتوفيق
-
ما شاء الله ربنا يبارك في حضرتك وعلم حضرتك واجتهادك في فهم كل صغيرة وكبيرة في ملفك قبل أن تطلب مساعدة بسيطة تنقصك أما إذا كنت قد حصلت على هذا الملف بدون جهد وتريد الحصول على التعديل بدون جهد أيضا فأدعو لك بالتوفيق
-
يمكنك استعمال هذا الكود في النسخ 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. بالتوفيق
-
كيفة تصميم برنامج إكسل يعمل بلغتين إنجليزي وعربي
أ / محمد صالح replied to mohamed Ibrahim 2's topic in منتدى الاكسيل Excel
فكرة رائعة أن تجعل برنامجك متعدد اللغات @mohamed Ibrahim 2 ولكن سيكون هذا في عناوين الخلايا فقط والمحتوى هو مدخلات المستخدم مثلا في جدول يحتوي على رقم الموظف والاسم إذا غيرت اللغة سيظهر empNo & Name وهكذا إذا كان هذا هو المطلوب أخبرني لأخبرك بفكرة العمل عليها بالتوفيق