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

أ / محمد صالح

أوفيسنا
  • Posts

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

  • Days Won

    192

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

  1. عليكم السلام ورحمة الله وبركاته يمكنك وضع اسماء الفصول في الصف 11 ووضع هذه المعادلة في الخلية D12 =IFERROR(COUNTIF(OFFSET(أساسية!$A$1,MATCH($C12,أساسية!$B$1:$B$100,0)-1,0,1,50),D$11),"") ويمكنك سحبها يسارا لتجلب أعداد باقيد الفصول وسحبها لأسفل لباقي المعلمين بالتوفيق
  2. هذا التصميم للقوائم معتمد على اختيار واحد في N3 وما على يسارها في الصف الثالث ويصعب جدا تكرار كل هذه القوائم المساعدة لكل صف لذلك تحتاج إلى تغيير طريقة العمل إذا كنت بحاجة إلى نسخ الخلايا التي بها القوائم لأسفل أقترح عمل الآتي: وضع جميع عناصر القائمة في الصفوف التي أسفلها وتسمية هذا النطاق باسم رأس القائمة (طبعا اسم النطاق لا يوجد به مسافات لذلك يجب استبدال المسافات ب _ ) وإذا كان عنصر من هذه العناصر يندرج تحته عناصر أخرى يجب وضعه في عمود جديد وتسمية عناصره باسمه وهكذا وللحصول على القائمة الخاصة بالخلية A2 مثلا نضع في الخلية B3 قائمة التحقق ونضع مصدرها المعادلة التالية =INDIRECT(SUBSTITUTE(A3, " ", "_")) وهكذا مع باقي الأعمدة ويمكنك الرجوع لهذه الروابط بالتوفيق
  3. هذا بالفعل ما يتم العمل به وكما قلت سابقا ربما لا يعرف احد الإخوة موضوع اختيار أفضل إجابة وهنا ياتي دور احد المشرفين انا شخصيا لا أجد اي خلاف اذا اختارها العضو فخير وبركة واذا لم يخترها كان من حق المشرفين اختيار الإجابة التي تؤدي المطلوب وإن تعددت الإجابات فهذا لاثراء الموضوع وفي الغالب تكون الحلول التالية للحل الأول استعمال نفس الفكرة ولكن بطريقة مختلفة بالتوفيق
  4. اخي الكريم صاحب الاستفسار انا ما شفت الملف لأني على الموبايل لذلك قمت بترجمة ما قلته حضرتك الي معادلة هذه الجملة تعني انك تريد تاريخ قبل G2 بمدة من شهر الي 60 شهر سابق وهذا ما تقوم به المعادلة أما حكاية تغيير قيمة الخلية لأنها تنشئ رقما عشوائيا وإذا أردت تثبيت المدة مثلا تاريخ سابق ل G2 بعشرين شهر أو 30 شهر يمكنك تغيير الجزء الخاص ب RANDBETWEEN الي هذا الرقم الثابت انا دائما اعطي فكرة الحل وليس الحل امتثالا للحكمة القائلة لا تعطني سمكة ولكن علمني كيف اصطاد فكرتي هي استخدام EDATE يمكنك توظيفها كما تشاء بالتوفيق
  5. يمكنك تجربة هذه المعادلة =IF(G2="", "", EDATE(G2, -RANDBETWEEN(1, 60))) بالتوفيق
  6. الأخ الفاضل محمد هشام في حالة تمام الموضوع وعدم انتباه صاحب الاستفسار إلى اختيار أفضل إجابة يحق للمشرفين اختيار أفضل إجابة وربما اختار احد المشرفين إجابتي لأنها اول الإجابات التي تنفذ المطلوب. وإذا اغضبك هذا فلا مشكلة عندي من تغييرها الي إجابتك حيث لا يهمني هذا الأمر كثيرا. وفقنا الله جميعا لكل خير
  7. ما شاء الله أول مشاركة وتسأل عن هذا الشيء الرائع بداية موفقة بإذن الله أن ينضم للمنتدى صاحب فكر جديد ومتطور أنا شخصيا عرضتها على الإدارة التعليمية قبل أكثر من عشر سنوات (بعد ثورة يناير 2011) وكانت أسبابي أن بعض الفصول تضم جميع المتفوقين وبعضها يضم المتأخرين دراسيا وترتيبنا للفصول بهذه الطريقة يجعل قدرا من التساوي بين جميع الفصول في المستوى مما يزيد المنافسة ولكن لللأسف اصطدمت بالروتين وتبرير الرفض باسباب واهية مثل: لخبطة العاملين في الكنترول في الرصد وإخراج النتائج؛ لأن الكنترول يعمل على الترتيب الابجدي وترتيب السري. ولذلك تركت الفكرة وربما حذفت الملف. وأدعو الله أن يوفقك في هذا العمل وأن يفتح لك عقول المسئولين لديكم
  8. هناك العديد من البدائل لموقع MIT App Inventor التي يمكنك استخدامها لإنشاء تطبيقات الأندرويد بسهولة. إليك بعض الخيارات: Thunkable: منصة قوية تعتمد على السحب والإفلات لإنشاء التطبيقات. تم تطويرها بواسطة مهندسين من MIT App Inventor1. AppyBuilder: منصة أخرى تعتمد على السحب والإفلات، مشابهة لـ App Inventor وتوفر ميزات إضافية. Bubble: أداة لإنشاء تطبيقات الويب بدون برمجة، يمكن استخدامها لإنشاء تطبيقات متقدمة بواجهة مستخدم مخصصة. بالتوفيق
  9. الكود جيد ويعمل بسرعة ربما مع زيادة عدد صفوف البيانات يأتي البطء أنا شخصيا لا أفضل البحث بمجرد كتابة حرف أو حرفين وهكذا الأفضل كتابة الكلمة كلها ثم الضغط على زر بحث أو عند الخروج من مربع النص مثلا حتى تتم عملية البحث مرة واحدة ولا تستهلك قدرا من موارد الجهاز بالتوفيق
  10. يمكنك استخدام كود VBA في Excel لتحقيق ذلك. إليك مثال على كود يمكنك تعديله حسب الحاجة: Sub CopyColumns() Dim sourceSheet As Worksheet Dim targetSheet As Worksheet Dim sourceRange As Range Dim targetRange As Range ' تحديد الورقة المصدر والورقة الهدف Set sourceSheet = ThisWorkbook.Sheets("SourceSheetName") Set targetSheet = ThisWorkbook.Sheets("TargetSheetName") ' نسخ العمود B Set sourceRange = sourceSheet.Range("B5:B200") Set targetRange = targetSheet.Range("B5") sourceRange.Copy Destination:=targetRange ' نسخ العمود C Set sourceRange = sourceSheet.Range("C5:C200") Set targetRange = targetSheet.Range("C5") sourceRange.Copy Destination:=targetRange ' نسخ العمود D Set sourceRange = sourceSheet.Range("D5:D200") Set targetRange = targetSheet.Range("D5") sourceRange.Copy Destination:=targetRange End Sub يمكنك تعديل أسماء الأوراق والنطاقات حسب الحاجة. إذا كنت ترغب في تغيير الأعمدة المرحل إليها، يمكنك تعديل القيم في `targetRange`. بالتوفيق
  11. سهلة بإذن الله حدد العمود المراد تبويب “البيانات” (Data). اختر “إزالة التكرارات” (Remove Duplicates). بالتوفيق
  12. بارك الله لكم جميعا وجعلكم ممن يتحرون الحلال من الحرام إنشاء كود كهذا سهل جدا ويمكن اختصاره عن هذا ولكن لأن فكرة الكود تخالف كل ما عرفناه من قيم بعد عرض الكود الجديد أسجل اختلافي مع صاحب فكرة الكود بهذا الكود نجعل المعلم غير ملتزم بما هو مكلف به من متابعة مستوى الطلاب وعمل اختبارات أسبوعية وشهرية ورصد ما حصل عليه الطالب فعلا في سجل الدرجات ورصد غياب وسلوك الطالب على أرض الواقع في السجلات وليس عشوائيا. تخيل أن ابنك واحد من الذين رصدت لهم درجات بهذه الطريقة العشوائية!!!! مرة اخرى رزقنا الله تحري الحلال
  13. فعلا لم أنتبه لعناوين الأعمدة فهي AmX & Amy وما بعدها لذلك يجب الانتقال لأول الشيت بالضغط على CTRL+home مع ضبط الزووم على 100% كما قال أخي الفاضل حسونة لكن ردي السابق على اختفاء بيانات الخلايا في النطاق المستعمل فعلا يرجع بعضها للاسباب السابقة بالتوفيق
  14. تمت معالجة هذا الأمر كثيرا قبل ذلك ربما تفيدك هذه الروابط Showing results for 'طباعة الكل pdf' in content posted in منتدى الاكسيل Excel . - أوفيسنا (officena.net) بالتوفيق
  15. هذا الأمر له احتمالات كثيرة جدا منها: ضعف إمكانيات الجهاز على حساب المعادلات الموجودة في الشيتات. استعمال معادلات البحث بكثرة يجعل استجابة الملف بطيئة. وغيرها الكثير يفضل إرفاق ملفك أو جزء منه للتعرف على سبب المشكلة بالتوفيق
  16. تفضل أخي الكريم تم استعمال نفس فكرة اليومي والخصم في نفس يوم تاريخ البداية مع اختلاف الشهور بالتوفيق خصم يومي أو شهري تلقائي .xlsx
  17. المطلوب غير واضح لي بصراحة هل المطلوب تجميع أرقام الايام المكتوبة في كل شهر؟ أم خصم 100 دينار كل شهر؟ وإذا كان الخصم شهريا متى يتم الخصم في نفس تاريخ البداية 20 في الشهر أم في بداية الشهر قلت لحضرتك بالتفصيل حتى تصل الفكرة التي في رأسك إلى غيرك بالتوفيق
  18. اين ملفك للعمل عليه مع توضيح المطلوب بمنتهى التفصيل والنتائج المرجوة في الأعمدة المرجوة بالتوفيق
  19. وعليكم السلام ورحمة الله وبركاته، نعم، يمكن القيام بذلك باستخدام 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 صف وحفظها في نفس مسار الملف الأصلي. بالتوفيق
  20. جرب استعمال هذا الكود For Each cell In range("a2:a10000") cell.Value = "'" & cell.Value Next cell بالتوفيق
  21. لا إله إلا الله لا يوجد حدة ولا تهكم ولا اي شيء مخالف لما تعودنا عليه كلنا يرغب في مساعدة من يريد أن يتعلم ويحتاج لمساعدة بسيطة لكن من يريد الكود كاملا على الجاهز فهذا المنتدى ليس مكان طلب ذلك وللتأكيد على حرصنا على مساعدة الجميع: ما رؤيتك أخي الفاضل في توزيع درجات أعمال السنة بصورة آلية (غير موافقة للواقع وأوراق الاختبارات واجتهاد الطالب مع معلمه وعدد ايام غيابه وسلوكه مع المعلمين) وبالتفصيل حتى يتسنى للجميع مساعدتك يعني مثلا لو المتوسط 36 من 40 كم تريد أن يحصل الطالب في كل خلية وعلى أي اساس يتم اختيار هذا الرقم بالتوفيق
  22. بارك الله لك أخي الكريم يعني الاستاذ الشهابي قام لك بالكود السابق (ولم تكلف نفسك فهم كل سطر فيه حتى يمكنك تعديله فيما بعد) وتريد الآن أن يقوم لك أحدهم بالكود الجديد؟؟؟؟؟؟ ربما حضرتك لم تصل إليك حقيقة أن المنتدى تعليمي لمن يتعلم ويواجه بعض المشكلات أما إن كان أحدنا يريد خدمة مدفوعة من غيره بحيث لا يتعب نفسه فمجالها التعاملات الخاصة وليس موضوعات المنتدى والله الموفق
  23. يا ريت تتفضل علينا بشرح الكود الحالي حتى نتمكن من فهمه ومساعدتك في تعديله
  24. بارك الله لك أستاذ محمد وهذا جهدي المتواضع في كود يحذف الموجود في قائمة الاستثناءات ويبقي غير الموجود وفي نفس العمود 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 بالتوفيق للجميع
  25. إجابتي بدون رؤية الملفات؛ لأني على الهاتف حاليا. المعادلة هي مجرد معادلة بحث عن الرقم الموجود في الخلية m12 وجلب القيم من العمود الثالث في النطاق المسمى prod للوصول إلى النطاقات المسماة من تبويب معادلات formulas ثم إدارة الأسماء name manager بالتوفيق
×
×
  • اضف...

Important Information