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

hegazee

03 عضو مميز
  • Posts

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

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

  • Days Won

    4

Community Answers

  1. hegazee's post in جدول إكسل (إدارة مكتب محامي) مطلوب إضافة بعض التحسينات عليه was marked as the answer   
    تفضل الملف بعد التعديل . كان فيه أخطاء كثيرة جدا في ارتباط الخلايا في اليوزرفورم
    مكتب_المحامي للتعديل2.xlsm
  2. hegazee's post in حساب الحضور والغياب was marked as the answer   
    و عليكم السلام ورحمة الله وبركاته
     تفضل الملف حسب نسخة الأوفيس عندك لو قديم الملف الأول و لكن اذا أضفت كلمات جديدة يجب أن تضيفها في الصيغة ولو عندك . أوفيس حديث يمكن استخدام الملف الثاني فهو يتعرف على الكلمات تلقائيا الملف الثالث يعمل بالأكواد
     
    الحضور والغياب (2).xlsx الحضور والغياب حديث.xlsx الحضور والغياب أكواد.xlsm
  3. hegazee's post in نقل رقم الهوية من شيت إلى شيت آخر was marked as the answer   
    و عليكم السلام ورحمة الله وبركاته
    استخدم الصيغة
    =IFERROR(VLOOKUP(G2;بيانات!$S:$T;2;0);"")  
    نقل رقم الهوية_بناء على رقم الطالب (1).xlsx
  4. hegazee's post in كود بحث من شيت الى شيت اخر was marked as the answer   
    تفضل لعل هذا طلبك مع ان الملف القديم كان يحدد النتائج بمجرد الضغط على زر بحث. تم استبدال أول أسماء الأصناف بكلمات حقيقية لتجربة البحث بالأسم لأن الكل كان يبدأ بحرف ص
    3 _ شهر ابريل1 2026.xlsm
  5. hegazee's post in كودعمل دوائر was marked as the answer   
    جرب الملف و تأكد أن تعمل توسيط للأرقام في الخلية الدوائر تعمل تلقائيا بمجرد ادخال الرقم و تختفي تلقائيا لو تم التعديل بداية من 50
    دائرة حول الرقم.xlsm
  6. hegazee's post in مشكلة تنسيق التاريخ was marked as the answer   
    أخي الكريم
    سبب المشكلة بالتفصيل:
    تفعيل خيار "عرض الصيغ" (Show Formulas): ورقة العمل تحتوي على إعداد داخلي (showFormulas="1") يقوم بإظهار القيم الرقمية الخام للتواريخ (مثل 41604) بدلاً من التاريخ المنسق (2013/11/26)، مهما حاولت تغيير التنسيق. تجميد الصفوف: وجود صفوف مجمدة (حتى الصف 😎 قد يجعل التنقل وتغيير الإعدادات لبعض الأعمدة يبدو وكأنه لا يستجيب بشكل طبيعي. التنسيق المخصص: العمود G يستخدم تنسيقاً مخصصاً (yyyy/mm/dd) وهو صحيح، لكنه لا يظهر بسبب النقطة الأولى. كيفية حل المشكلة في ملفك الأصلي:
    يمكنك حل المشكلة بضغطة زر واحدة :
    اذهب إلى تبويب صيغ (Formulas) في شريط الأدوات العلوي. في مجموعة تدقيق الصيغ (Formula Auditing)، ستجد خيار إظهار الصيغ (Show Formulas) مفعلاً، قم بالضغط عليه لإلغاء تفعيله. أو استخدم اختصار لوحة المفاتيح: Ctrl + ~ )مفتاح حرف الذال في الكيبورد العربي(. بمجرد إلغاء هذا الخيار، ستظهر جميع التواريخ في العمود G بتنسيقها الصحيح فوراً. سبب نجاح الحل عند النسخ لملف جديد هو أن هذا الإعداد خاص بورقة العمل الحالية ولا ينتقل عند نسخ البيانات فقط إلى ملف جديد.
    الصورة المرفقة من عندي أوفيس 365
     
     

  7. hegazee's post in الفئة العمرية was marked as the answer   
    تفضل الملف
    حساب الفئة العمرية2.xlsx
  8. hegazee's post in دالة If بناء على سعر البورصة was marked as the answer   
    تفضل
    مجزر دواجن معدل.2.xlsx
  9. hegazee's post in ملئ التاريخ من اي يوم was marked as the answer   
    تفضل
     
    حساب_التاريخ3.xlsx
  10. hegazee's post in ترتيب درجات الطلاب لمواد مختلفة was marked as the answer   
    تفضل
    ترتيب درجات الطلاب لمواد مختلفة(3).xlsx
  11. hegazee's post in محتاج معادلات لتجميع شيت باجمالي الشهور was marked as the answer   
    و عليكم السلام ورحمة الله وبركاته
    __اصناف مشتريات - نسخة2.xlsx
  12. hegazee's post in كيفية حذف بيانات صف بشرط was marked as the answer   
    و عليكم السلام ورحمة الله وبركاته
     تفضل الملف بالأكواد. أما إذا كنت لا تفضل الأكواد فالحل بسيط وسهل باستخدام التصفية في العمود  الموجود به الحاله 
    حذف و إظهار صف بشرط.xlsm
  13. hegazee's post in بحث متقدم was marked as the answer   
    و عليكم السلام ورحمة الله و بركاته
    الموضوع سهل جدا من خلال عمل فلترة الموجودة في اكسيل كما هو واضح بالصور. ممكن تستخدم أيا من الملفين واحد بالأكواد و الثاني بالصيغ بس لا يصلح إلا أوفيس 365 أو 2021
     

    فلترة.7z
  14. hegazee's post in توزيع رقم على خلايا was marked as the answer   
    توزيع رقم على خلايا.xlsm
  15. hegazee's post in كشاف دخول اللجان was marked as the answer   
    تفضل الملف باستخدام الصيغ مع عمل تنسيق شرطي للتأكد من التكرار
    كشاف دخول اللجان2.xlsm
  16. hegazee's post in تعديل كود توزيع مراقبين was marked as the answer   
    ممكن يكون طلبك هنا
    https://www.youtube.com/watch?v=M1DhpzkT8kA
     او جرب هذا الكود:
    Sub Observer_FullSystem() Dim ws As Worksheet, wsReport As Worksheet Dim NamesArr() As Variant Dim UsedRow As Object, UsedCol As Object, UsedAll As Object Dim lrNames As Long, lrRows As Long, lrCols As Long Dim r As Long, c As Long, i As Long Dim Available() As String Dim cnt As Long, MaxAllowed As Long, TotalCells As Long Dim TryCount As Long Dim MainCols As Long: MainCols = 2 ' عدد الأعمدة الأساسية Set ws = ActiveSheet Application.ScreenUpdating = False Randomize ' ===== Backup ===== ws.Copy After:=Sheets(Sheets.Count) ActiveSheet.Name = "Backup_" & Format(Now, "ddmmyy_hhmmss") ws.Activate ' ===== قراءة الأسماء ===== lrNames = ws.Cells(ws.Rows.Count, 2).End(xlUp).Row NamesArr = ws.Range("B3:B" & lrNames).Value ' ===== حدود الجدول ===== lrRows = ws.Cells(ws.Rows.Count, 3).End(xlUp).Row lrCols = ws.Cells(2, ws.Columns.Count).End(xlToLeft).Column ws.Range(ws.Cells(3, 4), ws.Cells(lrRows, lrCols)).ClearContents ' ===== الحد الأقصى ===== TotalCells = (lrRows - 2) * (lrCols - 3) MaxAllowed = Application.WorksheetFunction.RoundUp(TotalCells / (lrNames - 2), 0) Set UsedAll = CreateObject("Scripting.Dictionary") ' ===== التوزيع ===== For r = 3 To lrRows Set UsedRow = CreateObject("Scripting.Dictionary") For c = 4 To lrCols TryCount = 0 RetryCell: TryCount = TryCount + 1 If TryCount > 300 Then GoTo NextCell Set UsedCol = CreateObject("Scripting.Dictionary") For i = 3 To r - 1 If ws.Cells(i, c).Value <> "" Then UsedCol(ws.Cells(i, c).Value) = 1 Next i cnt = 0 ReDim Available(1 To UBound(NamesArr, 1)) For i = 1 To UBound(NamesArr, 1) If Not UsedRow.exists(NamesArr(i, 1)) _ And Not UsedCol.exists(NamesArr(i, 1)) Then If Not UsedAll.exists(NamesArr(i, 1)) _ Or UsedAll(NamesArr(i, 1)) < MaxAllowed Then cnt = cnt + 1 Available(cnt) = NamesArr(i, 1) End If End If Next i If cnt > 0 Then ws.Cells(r, c).Value = Available(Int(Rnd * cnt) + 1) UsedRow(ws.Cells(r, c).Value) = 1 UsedAll(ws.Cells(r, c).Value) = UsedAll(ws.Cells(r, c).Value) + 1 Else GoTo RetryCell End If NextCell: Next c Next r ' ===== تقرير ===== On Error Resume Next Set wsReport = Sheets("تقرير") On Error GoTo 0 If wsReport Is Nothing Then Set wsReport = Sheets.Add wsReport.Name = "تقرير" Else wsReport.Cells.Clear End If wsReport.Range("A1:D1") = Array("الاسم", "الإجمالي", "أساسي", "احتياطي") For i = 3 To lrNames wsReport.Cells(i - 2, 1) = ws.Cells(i, 2) wsReport.Cells(i - 2, 2) = Application.CountIf(ws.Range(ws.Cells(3, 4), ws.Cells(lrRows, lrCols)), ws.Cells(i, 2)) wsReport.Cells(i - 2, 3) = Application.CountIf(ws.Range(ws.Cells(3, 4), ws.Cells(lrRows, 3 + MainCols)), ws.Cells(i, 2)) wsReport.Cells(i - 2, 4) = wsReport.Cells(i - 2, 2) - wsReport.Cells(i - 2, 3) Next i wsReport.Columns.AutoFit Application.ScreenUpdating = True MsgBox "تم التوزيع + إنشاء نسخة احتياطية + تقرير كامل ?", vbInformation End Sub  
  17. hegazee's post in كود يعطينى اخفاء واظهار الاعمدة انا اختارها فى كل شيت بمفرده was marked as the answer   
    تفضل
    Sub ToggleColumns() Dim action As String Dim colsInput As String Dim colArray() As String Dim colItem As Variant Dim answer As VbMsgBoxResult Dim invalidInput As Boolean ' مربع حوار لتحديد الإجراء (إخفاء أو إظهار) answer = MsgBox("هل تريد إخفاء الأعمدة؟" & vbCrLf & vbCrLf & "اضغط 'Yes' للإخفاء، 'No' للإظهار.", vbYesNoCancel + vbQuestion, "تحديد الإجراء") If answer = vbCancel Then Exit Sub ' الخروج إذا ضغط المستخدم على "Cancel" ElseIf answer = vbYes Then action = "إخفاء" Else action = "إظهار" End If ' مربع إدخال لطلب الأعمدة من المستخدم colsInput = InputBox("الرجاء إدخال الأعمدة التي تريد " & action & "ها." & vbCrLf & vbCrLf & "أمثلة:" & vbCrLf & "عمود واحد: B" & vbCrLf & "أعمدة متجاورة: B:D" & vbCrLf & "أعمدة متفرقة: B,D,F", "تحديد الأعمدة") ' الخروج إذا كان الإدخال فارغًا If colsInput = "" Then Exit Sub ' إزالة أي مسافات زائدة وتقسيم الإدخال عند الفاصلة colArray = Split(Replace(colsInput, " ", ""), ",") invalidInput = False On Error Resume Next ' تجاهل الأخطاء مؤقتًا للتحقق من صحة الإدخال ' المرور على كل عنصر أدخله المستخدم For Each colItem In colArray If colItem <> "" Then ' التحقق من أن كل جزء من الإدخال يمثل نطاقًا صالحًا If Columns(colItem).Count = 0 Then invalidInput = True Exit For End If End If Next colItem On Error GoTo 0 ' إعادة تفعيل معالجة الأخطاء ' إذا كان هناك إدخال غير صالح، أظهر رسالة خطأ If invalidInput Then MsgBox "الإدخال '" & colItem & "' غير صالح. الرجاء التأكد من إدخال أسماء أعمدة صحيحة.", vbCritical, "خطأ في الإدخال" Exit Sub End If ' تنفيذ الإجراء على كل عمود أو نطاق For Each colItem In colArray If colItem <> "" Then If action = "إخفاء" Then Columns(colItem).Hidden = True Else Columns(colItem).Hidden = False End If End If Next colItem MsgBox "تم " & action & " الأعمدة بنجاح!", vbInformation, "اكتمل الإجراء" End Sub  
  18. hegazee's post in هل توجد معادلة في اكسل تجلب القيم من الخلايا متجاوزت الخلايا التي لا نحتاجها و لا تظهر على شكل فراغات was marked as the answer   
    و عليكم السلام ورحمة الله و بركاته
    تفضل الحل بطريقتين الأول خاصة بنسخ الأوفيس الحديثة و الثانية بالنسخ القديمة
    Base des donnes (2).xlsx
  19. hegazee's post in إضافة سورة الفاتحه إلى كرونو في الاكسل was marked as the answer   
    و عليكم السلام ورحمة الله وبركاته
    إليك المطلوب  بصوت الشيخ المنشاوي رحمه الله مع تطوير و تحسين الملف. فقط تأكد وضع الملف الصوتي في نفس مجلد ملف الاكسيل و أرجو تعديل العنوان ليكون إضافة الفاتحة بدلا من الموسيقى  

    crono.rar
  20. hegazee's post in هل ممكن ضبط A4 كاعداد افتراضي للاكسيل ؟ was marked as the answer   
    و عليكم السلام ورحمة الله و بركاته
    انشيء ملف جديد و وأضبطه كما تريد من حيث الحجم و الهوامش و كل شيء بعدين احفظ الملف  باسم مثلا A4 وبصيغة
     Excel Template (*.xltx)
    الحفظ يكون في المسار التالي
    C:\Users\[اسم المستخدم]\Documents\Custom Office Templates
    لما تنشئ ملف جديد اختار القالب اللي أنت عملته اللي هو A4
  21. hegazee's post in مساعدة في تبسيط معادلة طويلة was marked as the answer   
    لو عندك اكسيل حديث 365 مثلا يمكن استعمال الصيغة التالية
    =TEXTJOIN("",TRUE,القرار!AM24:AM39,القرار!AN24:AN39) و يمكن بالأكواد مع الاصدارات القديمة و ده يلزم وجود ملف عشان نتأكد من النتيجة
  22. hegazee's post in حل مشكلة الاسماء المركبة was marked as the answer   
    بارك الله فيك أستاذ أحمد
    . كما تفضلت حضرتك بالملف فإن معادلة العلامة خبور رائعة و تصلح لهذا الملف تماما فقط قم بنسخ الكود التالي في موديل جديد في  في محرر الأكواد
    Function kh_Names(FullName As String, ParamArray iNdex1()) As String Dim i As Integer Dim kh_Split, MyArray, Ar Dim Kh_String As String, Sn As String, Re As String On Error GoTo Err_Kh_Names '====================================== MyArray = Array("عبد ", "أبو ", "ابو ", "آل " _ , " الله", " الدين", " الإسلام", " الاسلام", " الحق") '====================================== Sn = Application.WorksheetFunction.Trim(FullName) For Each Ar In MyArray Re = Replace(Ar, " ", "^") Sn = Replace(Sn, Ar, Re) Next '====================================== kh_Split = Split(Sn, " ", , vbTextCompare) On Error Resume Next For i = 0 To UBound(iNdex1) Kh_String = Kh_String & " " & kh_Split(iNdex1(i) - 1) Next On Error GoTo 0 Kh_String = Replace(Trim(Kh_String), "^", " ") kh_Names = Kh_String Exit Function Err_Kh_Names: kh_Names = "" End Function ثم  ضع المعادلة التالية في خانة اسم الأب مثلا:
    =kh_Names(H9;2;3;4;5) مع مراعاة الفاصلة عادية أو منقوطة حسب اصدار الاوفيس
    مجمع 2026بعد نتيجة ثالثة.xlsm
  23. hegazee's post in المطلوب كود لحذف المسافات فى بداية الخلية ونهايتها was marked as the answer   
    تفضل الملف و جرب كتابة اسماء بها عبد في العمود  الثالث و طبق عليها ما تريد
    حذف المسافات(1).xlsm
  24. hegazee's post in المساعدة في الإحصاء في الملف المرفق was marked as the answer   
    أولا تم تعديل المعادلة لتكون:
    =IF(G2="";"";IF(G2<1;"أقل من فدان";IF(AND(G2>=1; G2<3);"من 1 إلى أقل من 3 فدان";IF(AND(G2>=3; G2<5);"من 3 إلى أقل من 5 فدان";IF(AND(G2>=5; G2<10);"من 5 إلى أقل من 10 فدان";IF(AND(G2>=10; G2<20);"من 10 إلى أقل من 20 فدان";IF(AND(G2>=20; G2<=25);"من 20 إلى 25 فدان";"أكثر من 25 فدان"))))))) شرح المعادلة: تستخدم الدالة IF   بشكل متداخل لتصنيف قيمة موجودة في الخلية G  إلى فئات مختلفة بناء على مدى هذه القيمة مع افتراض أن القيمة تمثل مساحة بالأفدنة تماما مثل إظهار نتيجة الطلاب بالتقديرات
    IF(G2="";"")
    إذا كانت الخلية G2 فارغة، فإن الناتج يكون فارغًا أيضا لا يعرض شيء.
    هذا يجنب ظهور نتائج غير مرغوبة عند عدم وجود بيانات.
    IF(G2<1;"أقل من فدان")
    إذا كانت القيمة في G2 أقل من 1 لكن ليست فارغة يعرض:
    "أقل من فدان".
    IF(AND(G2>=1; G2<3)
    إذا كانت القيمة أكبر من أو تساوي 1 ولكن أقل من 3 يعرض:
    "من 1 إلى أقل من 3 فدان".
      وهكذا باقي المساحات
    أما المعادلة
    =IF(AND(ISNUMBER(D2); ISNUMBER(E2); ISNUMBER(F2)); F2 + E2/24 + D2/576; "")  
    تستخدم لتحويل وحدات الأراضي (الفدان، القيراط، السهم) إلى قيمة عشرية واحدة تعبر عن المساحة الكلية بالفدان.
    الوحدات المستخدمة في مصر:
    الفدان (F2) ← الوحدة الأساسية. القيراط (E2) ← 1 فدان = 24 قيراط. السهم (D2) ← 1 قيراط = 24 سهم → إذن 1 فدان = 576 سهم (24 × 24)  
    ثانيا: ملفك الأصلي فيه بعض الملاحظات فهناك صفوف فارغة تماما و أيضا الخلايا فارغة ليس بها أي رقم المفروض نضع صفر في الخلايا الفارغة لتدخل ضمن حساب المعادلة
    أيضا هناك أسماء لا تملك حتى سهم و بالتالي لا تدخل ضمن الأفراد ذوي الملكية
    بعد التعديلات ستلاحظ أن العدد مضبوط
    فئات الانتفاع2.xlsx
  25. hegazee's post in حساب لكل من الذكر والانثي و الغير محدد بالاكواد was marked as the answer   
    تأكد من إعدادت اللغة للجهاز و أن اللغة العربية ممكنة
    افتح خيارات الاكسيل و تأكد منها


×
×
  • اضف...

Important Information