-
Posts
4477 -
تاريخ الانضمام
-
Days Won
197
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو أ / محمد صالح
-
ربما يرجع السبب لأن معادلة filter و xloojup توجد في الإصدارات الحديثة فقط من أوفيس 2021 وما بعدها أو 365 مثلا
-
إذا كان لديك دالة معرفة في vba اسمها topten يجب تحويلها إلى جوجل سكريبت حتى تعمل في جوجل شيت
-
التخلص من الفراغات بدون الحذف
أ / محمد صالح replied to أبو عبد الله _'s topic in منتدى الاكسيل Excel
عليكم السلام ورحمة الله وبركاته يمكنك تجربة هذا الكود Sub MoveDataWithoutDeletingRows() Dim ws As Worksheet Dim lastRow As Long Dim i As Long, startRow As Long Set ws = ThisWorkbook.Sheets("Sheet1") ' قم بتغيير اسم الورقة حسب الحاجة lastRow = ws.Cells(ws.Rows.Count, "B").End(xlUp).Row startRow = 1 ' يمكنك تغيير قيمة startRow حسب الحاجة For i = startRow To lastRow If Application.WorksheetFunction.CountA(ws.Range("A" & i & ":E" & i)) > 0 Then If i <> startRow Then ws.Range("A" & i & ":E" & i).Copy Destination:=ws.Range("A" & startRow & ":E" & startRow) End If startRow = startRow + 1 End If Next i ' مسح البيانات من الصفوف الأصلية دون حذف الصفوف ws.Range("A" & startRow & ":E" & lastRow).ClearContents End Sub بالتوفيق -
عليكم السلام ورحمة الله وبركاته يمكنك وضع اسماء الفصول في الصف 11 ووضع هذه المعادلة في الخلية D12 =IFERROR(COUNTIF(OFFSET(أساسية!$A$1,MATCH($C12,أساسية!$B$1:$B$100,0)-1,0,1,50),D$11),"") ويمكنك سحبها يسارا لتجلب أعداد باقيد الفصول وسحبها لأسفل لباقي المعلمين بالتوفيق
- 1 reply
-
- 3
-
-
هذا التصميم للقوائم معتمد على اختيار واحد في N3 وما على يسارها في الصف الثالث ويصعب جدا تكرار كل هذه القوائم المساعدة لكل صف لذلك تحتاج إلى تغيير طريقة العمل إذا كنت بحاجة إلى نسخ الخلايا التي بها القوائم لأسفل أقترح عمل الآتي: وضع جميع عناصر القائمة في الصفوف التي أسفلها وتسمية هذا النطاق باسم رأس القائمة (طبعا اسم النطاق لا يوجد به مسافات لذلك يجب استبدال المسافات ب _ ) وإذا كان عنصر من هذه العناصر يندرج تحته عناصر أخرى يجب وضعه في عمود جديد وتسمية عناصره باسمه وهكذا وللحصول على القائمة الخاصة بالخلية A2 مثلا نضع في الخلية B3 قائمة التحقق ونضع مصدرها المعادلة التالية =INDIRECT(SUBSTITUTE(A3, " ", "_")) وهكذا مع باقي الأعمدة ويمكنك الرجوع لهذه الروابط بالتوفيق
- 1 reply
-
- 1
-
-
هذا بالفعل ما يتم العمل به وكما قلت سابقا ربما لا يعرف احد الإخوة موضوع اختيار أفضل إجابة وهنا ياتي دور احد المشرفين انا شخصيا لا أجد اي خلاف اذا اختارها العضو فخير وبركة واذا لم يخترها كان من حق المشرفين اختيار الإجابة التي تؤدي المطلوب وإن تعددت الإجابات فهذا لاثراء الموضوع وفي الغالب تكون الحلول التالية للحل الأول استعمال نفس الفكرة ولكن بطريقة مختلفة بالتوفيق
-
اخي الكريم صاحب الاستفسار انا ما شفت الملف لأني على الموبايل لذلك قمت بترجمة ما قلته حضرتك الي معادلة هذه الجملة تعني انك تريد تاريخ قبل G2 بمدة من شهر الي 60 شهر سابق وهذا ما تقوم به المعادلة أما حكاية تغيير قيمة الخلية لأنها تنشئ رقما عشوائيا وإذا أردت تثبيت المدة مثلا تاريخ سابق ل G2 بعشرين شهر أو 30 شهر يمكنك تغيير الجزء الخاص ب RANDBETWEEN الي هذا الرقم الثابت انا دائما اعطي فكرة الحل وليس الحل امتثالا للحكمة القائلة لا تعطني سمكة ولكن علمني كيف اصطاد فكرتي هي استخدام EDATE يمكنك توظيفها كما تشاء بالتوفيق
-
يمكنك تجربة هذه المعادلة =IF(G2="", "", EDATE(G2, -RANDBETWEEN(1, 60))) بالتوفيق
-
الأخ الفاضل محمد هشام في حالة تمام الموضوع وعدم انتباه صاحب الاستفسار إلى اختيار أفضل إجابة يحق للمشرفين اختيار أفضل إجابة وربما اختار احد المشرفين إجابتي لأنها اول الإجابات التي تنفذ المطلوب. وإذا اغضبك هذا فلا مشكلة عندي من تغييرها الي إجابتك حيث لا يهمني هذا الأمر كثيرا. وفقنا الله جميعا لكل خير
-
ما شاء الله أول مشاركة وتسأل عن هذا الشيء الرائع بداية موفقة بإذن الله أن ينضم للمنتدى صاحب فكر جديد ومتطور أنا شخصيا عرضتها على الإدارة التعليمية قبل أكثر من عشر سنوات (بعد ثورة يناير 2011) وكانت أسبابي أن بعض الفصول تضم جميع المتفوقين وبعضها يضم المتأخرين دراسيا وترتيبنا للفصول بهذه الطريقة يجعل قدرا من التساوي بين جميع الفصول في المستوى مما يزيد المنافسة ولكن لللأسف اصطدمت بالروتين وتبرير الرفض باسباب واهية مثل: لخبطة العاملين في الكنترول في الرصد وإخراج النتائج؛ لأن الكنترول يعمل على الترتيب الابجدي وترتيب السري. ولذلك تركت الفكرة وربما حذفت الملف. وأدعو الله أن يوفقك في هذا العمل وأن يفتح لك عقول المسئولين لديكم
-
برامج تطبيقات الموبايل
أ / محمد صالح replied to mohamadhaje's topic in المنتدى التقني العام و تطبيقات الأوفيس الأخرى
هناك العديد من البدائل لموقع MIT App Inventor التي يمكنك استخدامها لإنشاء تطبيقات الأندرويد بسهولة. إليك بعض الخيارات: Thunkable: منصة قوية تعتمد على السحب والإفلات لإنشاء التطبيقات. تم تطويرها بواسطة مهندسين من MIT App Inventor1. AppyBuilder: منصة أخرى تعتمد على السحب والإفلات، مشابهة لـ App Inventor وتوفر ميزات إضافية. Bubble: أداة لإنشاء تطبيقات الويب بدون برمجة، يمكن استخدامها لإنشاء تطبيقات متقدمة بواجهة مستخدم مخصصة. بالتوفيق -
الكود جيد ويعمل بسرعة ربما مع زيادة عدد صفوف البيانات يأتي البطء أنا شخصيا لا أفضل البحث بمجرد كتابة حرف أو حرفين وهكذا الأفضل كتابة الكلمة كلها ثم الضغط على زر بحث أو عند الخروج من مربع النص مثلا حتى تتم عملية البحث مرة واحدة ولا تستهلك قدرا من موارد الجهاز بالتوفيق
-
يمكنك استخدام كود 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`. بالتوفيق
-
سهلة بإذن الله حدد العمود المراد تبويب “البيانات” (Data). اختر “إزالة التكرارات” (Remove Duplicates). بالتوفيق
-
بارك الله لكم جميعا وجعلكم ممن يتحرون الحلال من الحرام إنشاء كود كهذا سهل جدا ويمكن اختصاره عن هذا ولكن لأن فكرة الكود تخالف كل ما عرفناه من قيم بعد عرض الكود الجديد أسجل اختلافي مع صاحب فكرة الكود بهذا الكود نجعل المعلم غير ملتزم بما هو مكلف به من متابعة مستوى الطلاب وعمل اختبارات أسبوعية وشهرية ورصد ما حصل عليه الطالب فعلا في سجل الدرجات ورصد غياب وسلوك الطالب على أرض الواقع في السجلات وليس عشوائيا. تخيل أن ابنك واحد من الذين رصدت لهم درجات بهذه الطريقة العشوائية!!!! مرة اخرى رزقنا الله تحري الحلال
-
فعلا لم أنتبه لعناوين الأعمدة فهي AmX & Amy وما بعدها لذلك يجب الانتقال لأول الشيت بالضغط على CTRL+home مع ضبط الزووم على 100% كما قال أخي الفاضل حسونة لكن ردي السابق على اختفاء بيانات الخلايا في النطاق المستعمل فعلا يرجع بعضها للاسباب السابقة بالتوفيق
-
تمت معالجة هذا الأمر كثيرا قبل ذلك ربما تفيدك هذه الروابط 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 كم تريد أن يحصل الطالب في كل خلية وعلى أي اساس يتم اختيار هذا الرقم بالتوفيق
-
بارك الله لك أخي الكريم يعني الاستاذ الشهابي قام لك بالكود السابق (ولم تكلف نفسك فهم كل سطر فيه حتى يمكنك تعديله فيما بعد) وتريد الآن أن يقوم لك أحدهم بالكود الجديد؟؟؟؟؟؟ ربما حضرتك لم تصل إليك حقيقة أن المنتدى تعليمي لمن يتعلم ويواجه بعض المشكلات أما إن كان أحدنا يريد خدمة مدفوعة من غيره بحيث لا يتعب نفسه فمجالها التعاملات الخاصة وليس موضوعات المنتدى والله الموفق