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

أبومروان

03 عضو مميز
  • Posts

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

  • تاريخ اخر زياره

  • Days Won

    6

كل منشورات العضو أبومروان

  1. هذه المشكلة تحدث عادةً بسبب اختلاف الترميز بين الملف الأصلي وبرنامج Excel الذي تستخدمه. قد تكون النصوص مكتوبة بترميز معين (مثل ANSI) بينما يستخدم Excel ترميزًا آخر (مثل UTF-8). لحل هذه المشكلة، يمكنك محاولة حفظ الملف بتنسيق جديد يدعم الترميز الصحيح. إليك كيفية القيام بذلك: 1. **فتح الملف في Excel:** - افتح الملف بامتداد `.xls` في Excel. 2. **حفظ الملف بتنسيق جديد:** - اذهب إلى قائمة **File** (ملف). - اختر **Save As** (حفظ باسم). - في نافذة الحفظ، اختر تنسيق الملف **.xlsx** من القائمة المنسدلة. - احفظ الملف بهذا التنسيق الجديد. 3. **إعادة فتح الملف:** - اغلق الملف وافتح النسخة المحفوظة بتنسيق `.xlsx`. إذا استمرت المشكلة بعد ذلك، يمكنك محاولة استخدام **Notepad** لتحويل الترميز: 1. **فتح الملف في Notepad:** - افتح الملف بامتداد `.xls` في Notepad (قد تحتاج إلى تغيير امتداد الملف مؤقتًا إلى `.txt`). 2. **حفظ الملف بترميز جديد:** - في Notepad، اذهب إلى قائمة **File** (ملف) واختر **Save As** (حفظ باسم). - اختر **UTF-8** من قائمة الترميز في أسفل نافذة الحفظ. - احفظ الملف بهذا التنسيق الجديد. 3. **إعادة تسمية الملف وفتحه في Excel - قم بإعادة تسمية الملف إلى امتداده الأصلي `.xls` وافتحه في Excel.
  2. السلام عليكم ورحمه الله وبركاته ما هو التعديل المطلوب بالتحديد ملف المدرسة كامل الفصول 2024-2023.7z
  3. وعليكم السلام تأكد من أن إعدادات اللغة في Excel تدعم العربية. استخدم ترميز Unicode عند حفظ الملف لتجنب فقدان النصوص. قم بتحديث Excel إلى أحدث إصدار. إصلاح الملف باستخدام أداة الإصلاح إذا كان الملف تالفًا. تأكد من إعدادات اللغة في Windows إذا كانت المشكلة مستمرة.
  4. وعليكم السلام ورحمه الله وبركاته ارجو ان يكون المطلوب كود الترقيم Sub NumberRows() Dim ws As Worksheet Dim lastRow As Long Dim i As Long Set ws = ThisWorkbook.Sheets("ورقة1") lastRow = ws.Cells(ws.Rows.Count, "B").End(xlUp).Row For i = 2 To lastRow ws.Cells(i, "A").Value = i - 1 Next i End Sub كود التصفيه بعد التعديل Sub DeleteRows() Dim ws As Worksheet Dim lastRow As Long Dim i As Long Dim deleteCount As Long Dim response As VbMsgBoxResult Set ws = ThisWorkbook.Sheets("ورقة1") ' تحديث العمود الذي يتم حساب آخر صف فيه من A إلى B lastRow = ws.Cells(ws.Rows.Count, "B").End(xlUp).Row deleteCount = 0 response = MsgBox("هل أنت متأكد أنك تريد حذف من استلمو الاول والثاني", vbYesNo + vbQuestion, "تأكيد الحذف") If response = vbYes Then ' بدأ من الصف الأخير حتى الصف 3 كما في الكود الأصلي For i = lastRow To 3 Step -1 ' العمل على العمود B و C للتحقق من وجود القيم قبل حذف الصف If ws.Cells(i, 2).Value <> "" And ws.Cells(i, 3).Value <> "" Then ws.Rows(i).Delete deleteCount = deleteCount + 1 End If Next i MsgBox deleteCount & " صفوف تم حذفها.", vbInformation, "عملية الحذف" Else MsgBox "تم إلغاء عملية الحذف.", vbInformation, "إلغاء" End If ' تنسيق النصوص في النطاق B1:D50 بدلاً من A1:D50 With ws.Range("B1:D50").Font ' تغيير النطاق ليشمل العمود B بدلاً من A .Name = "Arial" .Size = 16 .Bold = True .Color = RGB(0, 0, 251) ' الأزرق End With ' إعداد الهوامش للطباعة With ActiveSheet.PageSetup .TopMargin = Application.InchesToPoints(0.5) .BottomMargin = Application.InchesToPoints(0.5) .LeftMargin = Application.InchesToPoints(0.5) .RightMargin = Application.InchesToPoints(0.5) End With ' كتابة التاريخ في العمود B (تم تحديثه من العمود A) ws.Range("B1").Value = Date - 1 ws.Range("B1").NumberFormat = "dd/mm/yyyy" ' إزاحة التاريخ اليومي لكتابة اليوم في العمود A ws.Range("A1").Value = Format(Date - 1, "dddd") NumberRows End Sub كود حذف وتنسيق وادراج (1).xlsm
  5. السلام عليكم ورحمه الله وبركاته علي ما قدر مافهمت المطلوب =VLOOKUP(B2,البيانات!$A$2:$G$15,MATCH(C2,البيانات!$A$1:$G$1,0),0)
  6. بعد السلام والتحيه اوفق حضرتك كل الموفقه حول تأثير استخدام المواقع التي تقدم حلول برمجية جاهزة على مهارات المبرمجين وايضا علي حياتنا الاجتماعيه. من المؤكد أن الاعتماد المفرط على هذه الأدوات يمكن أن يؤدي إلى تراجع في التفكير والإبداع وهو ما يعد أساسياً في مجال البرمجة من الجيد استخدام هذه المواقع كأداة مساعدة عند الحاجة ولكن يجب أن يكون ذلك بعد محاولة حل المشكلة بنفسك التعلم من الأخطاء والتجارب الشخصية هو ما يساهم في تطوير المهارات الحقيقية
  7. جزاك الله كل خير على قدر أهل العزم تأتي العزائم وتأتي على قدر الكرام المكارم وتعظم في عين الصغير صغارها وتصغر في عين العظيم العظائم
  8. جزاك الله كل خير على قدر أهل العزم تأتي العزائم وتأتي على قدر الكرام المكارم وتعظم في عين الصغير صغارها وتصغر في عين العظيم العظائم
  9. جزاك الله كل خير على قدر أهل العزم تأتي العزائم وتأتي على قدر الكرام المكارم وتعظم في عين الصغير صغارها وتصغر في عين العظيم العظائم
  10. جزاك الله كل خير على قدر أهل العزم تأتي العزائم وتأتي على قدر الكرام المكارم وتعظم في عين الصغير صغارها وتصغر في عين العظيم العظائم
  11. وعليكم السلام Function JoinUniqueValues(lookupValue As Variant, lookupRange As Range, returnRange As Range) As String Dim dict As Object Set dict = CreateObject("Scripting.Dictionary") Dim i As Long Dim result As String ' إنشاء قاموس لتخزين القيم الفريدة For i = 1 To lookupRange.Count If lookupRange.Cells(i, 1).Value = lookupValue Then If Not dict.exists(returnRange.Cells(i, 1).Value) Then dict.Add returnRange.Cells(i, 1).Value, Nothing End If End If Next i ' دمج القيم الفريدة باستخدام فاصلة result = Join(dict.keys, ", ") JoinUniqueValues = result End Function لاستخدام هذا الكود، قم بإضافته إلى وحدة VBA في Excel، ثم استخدم الدالة في ورقة العمل كالتالي: =JoinUniqueValues(I3, $A$4:$A$1200, $B$4:$B$1200) TEST CODE.xlsm
  12. وعليكم السلام ورحمه الله وبركاته يمكنك الافضل استخدام PivotTable TEST.xlsm TEST.xlsm
  13. السلام عليكم ورحمه الله
  14. طيب ما ممكن نخلي مثلا صوره الطباعه في خليه B1 وعنمل اضافه تعليق علي الخليه لعله يفيد حضرتك
  15. اليك حل اخر بالاكواد لعله يفيد حضرتك وممكن تعدل عليه علي حسب رغبه حضرتك Private Sub Worksheet_Change(ByVal Target As Range) Dim ws As Worksheet Dim lastRow As Long Dim i As Long Dim hijriDate As String ' تعيين الورقة النشطة Set ws = ThisWorkbook.Sheets("Sheet1") ' تأكد من تغيير اسم الورقة إذا كان مختلفًا ' التحقق إذا كان التغيير في النطاق X3 إلى آخر خلية تحتوي على بيانات If Not Intersect(Target, ws.Range("X3:X" & ws.Cells(ws.Rows.Count, "X").End(xlUp).Row)) Is Nothing Then ' العثور على آخر صف يحتوي على بيانات في العمود X lastRow = ws.Cells(ws.Rows.Count, "X").End(xlUp).Row ' تكرار عبر الصفوف من X3 إلى آخر صف For i = 3 To lastRow ' قراءة التاريخ الهجري من الخلية hijriDate = ws.Cells(i, "X").Value ' التحقق إذا كانت الخلية تحتوي على تاريخ If hijriDate <> "" Then ' التحقق إذا كان حرف "هـ" موجودًا بالفعل If InStr(hijriDate, "هـ") = 0 Then ' تحويل التاريخ إلى التنسيق المطلوب وإضافة حرف "هـ" ws.Cells(i, "X").Value = Format(hijriDate, "yyyy/mm/dd") & "هـ" End If End If Next i End If End Sub مثل التاريخ.xlsm
  16. السلام عليكم ورحمه الله وبركاته يمكنك استخدام صيغة. إليك كيفية القيام بذلك: في خلية فارغة، أدخل التاريخ بالتنسيق 1446/05/01. في خلية أخرى، استخدم الصيغة التالية =TEXT(A1, "yyyy/mm/dd") & "هـ" حيث A1 هي الخلية التي تحتوي على التاريخ. اضغط على Enter. ستظهر النتيجة بالتنسيق 1446/05/01هـ. إذا كنت تفضل، يمكنك أيضًا إدخال التاريخ مباشرة مع "هـ" كما يلي: اكتب في الخلية: 1446/05/01هـ. لكن تذكر أن ذلك سيعطي Excel نصًا وليس تاريخًا، لذلك ستفقد بعض وظائف التاريخ. استخدام الصيغة هو الخيار الأفضل إذا كنت تحتاج إلى التعامل مع التواريخ بشكل أكبر
  17. وعليكم السلام ورحمه الله وبركاته ممكن تستخدم HYPERLINK زسيظهر لك كما في الصور ادناه. ارجو ان يكون المطلوب وليك الشرح 1/232/ wor.xlsm wor.xlsm
  18. وعليكم السلام ورحمه الله بعد اذن استاذنا @عبدالله بشير عبدالله يسعدني أن أشارك معكم هذه التجربة في محاولة مني للمساهمة والتفاعل الإيجابي والاستفاده من حضرتكم. Sub نقل_الأعمدة() Dim wsSource As Worksheet Dim wsFirst As Worksheet Dim wsSecond As Worksheet Dim wsThird As Worksheet Dim lastRow As Long ' تعيين ورقة المصدر Set wsSource = ThisWorkbook.Sheets("الرئيسية") ' تعيين أوراق العمل الأخرى Set wsFirst = ThisWorkbook.Sheets("الأولى") Set wsSecond = ThisWorkbook.Sheets("الثانية") Set wsThird = ThisWorkbook.Sheets("الثالثة") ' العثور على آخر صف في ورقة المصدر lastRow = wsSource.Cells(wsSource.Rows.Count, 1).End(xlUp).Row ' نقل الأعمدة إلى الورقة الأولى wsSource.Range("A1:A" & lastRow).Copy wsFirst.Range("A1").PasteSpecial Paste:=xlPasteValuesAndNumberFormats wsSource.Range("D1:D" & lastRow).Copy wsFirst.Range("B1").PasteSpecial Paste:=xlPasteValuesAndNumberFormats wsSource.Range("F1:F" & lastRow).Copy wsFirst.Range("C1").PasteSpecial Paste:=xlPasteValuesAndNumberFormats wsSource.Range("AB1:AB" & lastRow).Copy wsFirst.Range("D1").PasteSpecial Paste:=xlPasteValuesAndNumberFormats wsSource.Range("AC1:AC" & lastRow).Copy wsFirst.Range("E1").PasteSpecial Paste:=xlPasteValuesAndNumberFormats ' نقل الأعمدة إلى الورقة الثانية wsSource.Range("A1:F" & lastRow).Copy wsSecond.Range("A1").PasteSpecial Paste:=xlPasteValuesAndNumberFormats wsSource.Range("AT1:AT" & lastRow).Copy wsSecond.Range("G1").PasteSpecial Paste:=xlPasteValuesAndNumberFormats ' نقل الأعمدة إلى الورقة الثالثة wsSource.Range("A1:A" & lastRow).Copy wsThird.Range("A1").PasteSpecial Paste:=xlPasteValuesAndNumberFormats wsSource.Range("D1:D" & lastRow).Copy wsThird.Range("B1").PasteSpecial Paste:=xlPasteValuesAndNumberFormats wsSource.Range("F1:F" & lastRow).Copy wsThird.Range("C1").PasteSpecial Paste:=xlPasteValuesAndNumberFormats wsSource.Range("Q1:Q" & lastRow).Copy wsThird.Range("D1").PasteSpecial Paste:=xlPasteValuesAndNumberFormats wsSource.Range("R1:R" & lastRow).Copy wsThird.Range("E1").PasteSpecial Paste:=xlPasteValuesAndNumberFormats wsSource.Range("AB1:AR" & lastRow).Copy wsThird.Range("F1").PasteSpecial Paste:=xlPasteValuesAndNumberFormats ' تنظيف الحافظة Application.CutCopyMode = False MsgBox "تم نقل الأعمدة بنجاح!", vbInformation End Sub
  19. وعليكم السلام ورحمه الله
  20. وعليكم السلام ورحمة الله تعالى وبركاته بعد إذن السادة الأفاضل، يسعدني أن أشارك معكم هذه التجربة في محاولة مني للمساهمة والتفاعل الإيجابي والاستفاده من حضرتكم. Sub CalculateH23() Dim ws As Worksheet Dim countNonEmpty As Long Dim result As Variant Set ws = ThisWorkbook.Sheets("Sheet1") ' احسب عدد الخلايا غير الفارغة في النطاق B11:I15 countNonEmpty = Application.WorksheetFunction.CountA(ws.Range("B11:I15")) ' تحقق من الشرط في الخلية F23 If ws.Range("F23").Value = "الأول" Or ws.Range("F23").Value = "الثاني" Then result = Application.WorksheetFunction.Min(25, countNonEmpty) ElseIf ws.Range("F23").Value = "الثالث" Then result = countNonEmpty Else result = "" End If ' وضع النتيجة في الخلية H23 ws.Range("H23").Value = result End Sub
  21. وعليكم السلام ورحمه الله وبركاته
  22. وعليكم السلام ورحمه الله وبركاته ممكن ترفق شيت اكسل فيه المطلوب
  23. والسلام عليكم باركالله فيك عمل اكثر من رائع ممكن تشرح الاكواد للاستفاده اكتر
×
×
  • اضف...

Important Information