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

abouelhassan

05 عضو ذهبي
  • Posts

    2,833
  • تاريخ الانضمام

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

  • Days Won

    7

مشاركات المكتوبه بواسطه abouelhassan

  1. كل عام وانتم بخير وصحه وسلامه يارب ويديك الصحة والعافية ويبارك لك في اسرتك الكريمة اخى

    اولا اختار التاريخ فيكتب فى تكست اوتو السنة المالية استدلال بالجدول إلى احنا حددنا فيه السنة المالية بتبداامتى وتنتهى امتى

    ثانيا اكتب رقم المستند 

    ثالثا اختار الحساب 

    اكتب المبالغ واختار الصنف ثم اكتب المبلغ واختار الصنف وهكذا حتى 12 صنف مع وجود تكست توضح لى مجموع المبالغ لاعرف انا غلط او صح وزر اسمه ترحيل أو إدخال بحيث يحفظ البيانات ويفرغ النموذج للادخال الجديد

    مع خالص تحياتي لك اخي الكريم جدا

  2. حبيب قلبى اخىابوخليل الغالى لدى مشاكل بالكمبيوتر اسف للتأخر فى الرد والله اشكرك اخى فى الله استاذ خليفة المحترمkkhalifa1960

    تمام اخى ابو خليل الاستعلام ممتاز جدااااااااااااااا

    اذن سنعمل على استعلامين ممتازين اخى شاملين كل ما احتاج

    ندخل فى الجد

    النماذج المدججة بالاكواد

    احتاج نموذج شاشة دخول بصلحيات مستخدم و نموذج ادخال بيانات ونموذج عرض التقارير والفلترة مع امكانية تصدير التقارير للاكسيل للمراجعة او تصدير ناتج الفلترة للاكسيل حفظك الله ونجاك من اى شر

     

     

     

  3. النتائج المطلوب الحصول عليها 

    تقرير عن البيانات المدخلة عن فترة من تاريخ إلى تاريخ 

    تقرير عن البيانات المدخلة عن فترة من تاريخ إلى تاريخ للمبالغ الدائنة فقط والمدينة فقط والرصيد

    تقرير عن البيانات المدخلة عن فترة من الى 

    لحساب أو عدد من الحسابات 

    تقرير عن فترة من الى لصنف أو. عدد من الأصناف

    بارك الله فيك اخى فى الله 

  4. سأكتب لك الكود الذى استخدمه عله يفيدك

    Private Sub Form_Load()
    DoCmd.Maximize
    Me.Main_iDate.SetFocus
    If myCheckUser = "modeer" Then
    Exit Sub
    Else
    كل ما هو غير الادمن اكتب بجواره  false 
    'DellOll.Visible = False
    'Command169.Visible = False
    'ÃãÑ171.Visible = False
    T1.Visible = False
    L1.Visible = False
    End If
    End Sub

     

  5. السلام عليكم اخوانى الاساتذة 

    لدى مشروع برنامج 

    احتاج تنفيذ الاتى

    البرنامج ادخال بيانات 12 نوع من الاصناف ل عدد حساب من 50 حساب قد ادخل صنف او اتنين او كلهم كل مرة ل حساب واحد من ال 50

    الادخال ب التاريخ الرقم منه  او  له  للمبلغ 

    التقارير المطلوبة

    تقرير  للمدخلات من تاريخ    الى تاريخ مع امكانية اختيار التقرير لحساب او حسابات معينة او كل الحسابات  مع امكانية اختيار منه او له او الاثنين

    احتاج الافكار الصحيحة التى ابدأ بها المشروع حتى يمكن ان يكون ناجح وقابل للتطوير او زيادة الاصناف او الحسابات مستقبلا

    شاكر فضلكم اخوانى الافضل

     

  6. تفضل اخي

    
    
    =AND(ISFORMULA(E1),EVALUATE(E1)="=SUM($A$1:$D$1)")

     

    هذه الصيغة تحتوي على الدالة `EVALUATE` التي تقوم بتقييم الصيغة الموجودة في الخلية E1 وتحويلها إلى نص. ثم تتأكد الصيغة الناتجة تساوي الصيغة المطلوبة "=SUM($A$1:$D$1)"، وإذا كانت تساوي سترجع TRUE، وإلا سترجع FALSE.

  7. جرب

    1. انتقل إلى القائمة "البيانات" في Excel.

    2. اختر "تحقق من صحة البيانات" ثم "قواعد البيانات".

    3. في القائمة المنسدلة، اختر "تكوين القاعدة".

    4. في مربع الحوار "تكوين قاعدة البيانات"، اختر "صيغة" من القائمة المنسدلة.

    5. في مربع الحوار "صيغة"، ادخل الصيغة التالية:

    
    =ISFORMULA(E1)

    `، ثم اختر "موافق".

     

    هذه الخطوات ستجعل الخلية E1 تقبل فقط الدوال، وإذا قام المستخدم بإدخال قيمة غير دالة، ستعتبر الخلية فارغة.

  8. لتجميع البيانات أسبوعياً، يمكنك استخدام الصيغ الشيتية في Excel للتجميع. يمكنك اتباع الخطوات التالية:

     

    1. إضافة عمود جديد لتحديد الأسبوع.

    2. في الخلية A2، اكتب الصيغة التالية لاستخراج تاريخ الأسبوع:

       ```

       =TEXT(A2, "ww")

       ```

       حيث A2 هو الخلية التي تحتوي على التاريخ.

    3. في الخلية C2، اكتب الصيغة التالية لجمع البيانات الأسبوعية:

       ```

       =SUMIF($A$2:$A$35, "="&A2, $B$2:$B$35)

       ```

       حيث A2:A35 تحتوي على تواريخ الأسابيع، وB2:B35 تحتوي على القيم المرتبطة.

    4. اسحب الصيغتين لأسفل لتطبيقهما على بقية الصفوف.

     

    هذا سيقوم بتجميع القيم الأسبوعية في العمود C حسب الأسبوع المحدد.

     

    جرب إذا كنت ترغب في استخدام VBA لتجميع البيانات أسبوعيًا، يمكنك استخدام الكود التالي. يفترض أن لديك بيانات في الأعمدة A و B، وترغب في تجميعها أسبوعيًا في أعمدة C وD

    
    Sub AggregateWeekly()
        Dim ws As Worksheet
        Dim lastRow As Long
        Dim weekStartDate As Date
        Dim totalSales As Double
        Dim targetRow As Long
    
        ' Set the worksheet
        Set ws = ThisWorkbook.Sheets("Sheet1")
    
        ' Find the last row with data
        lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
    
        ' Initialize variables
        totalSales = 0
        targetRow = 2 ' Start from row 2 (assuming row 1 is headers)
    
        ' Loop through the rows
        For i = 2 To lastRow
            ' Check if the current date is in the same week as the start date
            If Weekday(ws.Cells(i, 1).Value, vbMonday) = 2 Then
                ' Add the sales to the total
                totalSales = totalSales + ws.Cells(i, 2).Value
            End If
            
            ' If the current date is the last day of the week or the last row, write the total sales for the week
            If Weekday(ws.Cells(i, 1).Value, vbMonday) = 1 Or i = lastRow Then
                ' Write the week start date
                ws.Cells(targetRow, 3).Value = ws.Cells(i, 1).Value - Weekday(ws.Cells(i, 1).Value, vbMonday) + 1
                ' Write the total sales for the week
                ws.Cells(targetRow, 4).Value = totalSales
                ' Move to the next row
                targetRow = targetRow + 1
                ' Reset the total sales for the next week
                totalSales = 0
            End If
        Next i
    End Sub

    هذا الكود يقوم بتجميع البيانات الأسبوعية ووضعها في أعمدة جديدة. يمكنك تعديل اسماء الاعمدة والورقة حسب احتياجك.

    • Like 2
  9.  يمكنك استخدام الكود التالي:


    Private Sub Worksheet_Change(ByVal Target As Range)
        Dim ws As Worksheet
        Dim stockSheet As Worksheet
        Dim changedCell As Range
        Dim newValue As Double
        Dim oldValue As Double
        Dim diff As Double

        Set ws = ThisWorkbook.Sheets("Sheet1") ' تغيير "Sheet1" إلى اسم الورقة التي تعمل عليها
        Set stockSheet = ThisWorkbook.Sheets("Stock") ' تغيير "Stock" إلى اسم ورقة المخزون

        ' التحقق من أن التعديل تم في العمود F والخلية ليست فارغة
        If Not Intersect(Target, ws.Columns("F")) Is Nothing And Target.Value <> "" Then
            newValue = Target.Value
            stockSheet.Range("G8").Value = stockSheet.Range("G8").Value + newValue
        ElseIf Not Intersect(Target, ws.Columns("F")) Is Nothing Then
            Exit Sub
        End If

        ' التحقق من أن التعديل تم في العمود F وليس في الخلية G8
        If Not Intersect(Target, ws.Columns("F")) Is Nothing And Target.Address <> "$F$8" Then
            Exit Sub
        End If

        ' التحقق من أن التعديل تم بالزيادة
        If Target.Value > Target.Value - Target.Value Then
            newValue = Target.Value
            oldValue = Target.Value - Target.Value
            diff = newValue - oldValue
            stockSheet.Range("G8").Value = stockSheet.Range("G8").Value + diff
        Else ' التعديل تم بالنقص
            newValue = Target.Value
            oldValue = Target.Value + Target.Value
            diff = oldValue - newValue
            stockSheet.Range("G8").Value = stockSheet.Range("G8").Value - diff
        End If
    End Sub
    ```

    هذا الكود يتم وضعه في وحدة العمل الخاصة بالورقة التي تريد استخدامها. يقوم الكود بتنفيذ الأوامر التالية:

    1. إذا تم إدخال قيمة جديدة في العمود F (والخلية ليست فارغة)، فإنه يقوم بإضافة هذه القيمة إلى قيمة الخلية G8 في ورقة المخزون.
    2. إذا تم تعديل قيمة في العمود F (والخلية ليست G8)، فإنه يحسب الفارق بين القيمة الجديدة والقيمة القديمة ويضيف أو يخصم هذا الفارق من قيمة الخلية G8 في ورقة المخزون، اعتمادًا على اتجاه التعديل (زيادة أو نقص).

  10. جرب

    لتحقيق ذلك، يمكنك استخدام حدث `Worksheet_Change` في VBA للتحقق من القيمة المدخلة ورفضها إذا لم تكن القيمة المطلوبة. هناك عدة طرق لتحقيق ذلك، وإليك كيف يمكن القيام بذلك:

    1. افتح ملف الـ VBA في Excel بالضغط على `Alt + F11`.
    2. اختر ورقة العمل التي تريد تطبيق القاعدة عليها من الشريط الجانبي في VBA.
    3. انقر مرتين على ورقة العمل لتفتح محرر الـ VBA لها.
    4. اختر `Worksheet` من القائمة المنسدلة في الأعلى ثم اختر `Change` من القائمة المنسدلة الثانية.
    5. قم بإضافة الكود التالي:


    Private Sub Worksheet_Change(ByVal Target As Range)
        If Not Intersect(Target, Me.Range("E1")) Is Nothing Then
            If Target.Value <> "=SUM(A1:D1)" Then
                Application.EnableEvents = False
                Me.Range("E1").Value = "=SUM(A1:D1)"
                Application.EnableEvents = True
                MsgBox "Only the SUM function is allowed in cell E1.", vbExclamation, "Invalid Input"
            End If
        End If
    End Sub
     

    هذا الكود يتحقق من أن القيمة المدخلة في الخلية E1 هي الدالة SUM فقط، وإذا كانت غير ذلك، فسيقوم بإعادة ضبط القيمة إلى الدالة SUM وعرض رسالة تنبيه.

    • Thanks 1
  11. يمكنك استخدام الدالة التالية للتحقق من تكرار الأسماء لنفس الرقم 

    
    
    =IF(COUNTIF(A:A, A2) > 1, "تنبيه: تكرار اسم", "")

    هذه الدالة تقوم بفحص العمود A (الذي يحتوي على أرقام الهوية) للصف الحالي (الذي يتمثل في A2 في هذا السياق). إذا وجدت أكثر من قيمة واحدة متطابقة مع قيمة الخلية A2، فإنها تُعيد "تنبيه: تكرار اسم"، وإلا فإنها تعيد "" (لا شيء).

    • Like 2
  12. للأسف، لا يوجد برنامج أو موقع يوفر ملفًا يمكن إضافته إلى Excel 2016 لإضافة جميع المعادلات الجديدة المتوفرة في النسخ الأحدث من Office. الأفضل في هذه الحالة هو استخدام المعادلات والوظائف المتاحة في Excel 2016 والبحث عن حلول بديلة للمهام التي قد تحتاج إلى وظائف جديدة. إذا كانت لديك أي وظيفة محددة تبحث عنها، فلا تتردد في طرحها هنا للحصول على المساعدة في إيجاد حلول بديلة لها.

    • Like 1
  13. جرب

    طبقاً للوصف السابق، يمكنك اتباع الخطوات التالية:


    . ضع هذا الكود

    
    Dim soundPlayed As Boolean
    
    Sub ActivateTimer()
        soundPlayed = False
        ' Your existing code to activate the current time
    End Sub
    
    Sub CheckTime()
        Dim i As Integer
        For i = 2 To Range("A" & Rows.Count).End(xlUp).Row
            If Range("N" & i).Value > Range("L" & i).Value And Not soundPlayed Then
                Beep ' تشغيل الصوت هنا
                soundPlayed = True
            End If
        Next i
    End Sub
    
    Sub ResetSound()
        soundPlayed = False
    End Sub

        

    . قم بتعديل الكود الموجود لديك ليتناسب مع الكود المعطى. ابحث عن الجزء الذي يقوم بحساب الوقت وتحديد نهايته، واستبدله بالكود الجديد الموجود في الدالة `CheckTime`.
    . قم بإضافة زر في ورقة العمل لتفعيل الوقت باستخدام الدالة `ActivateTimer`.
    . قم بتعيين زر آخر لإعادة تهيئة المتغير `soundPlayed` باستخدام الدالة `ResetSound`.

    هذا الكود سيقوم بتشغيل التنبيه الصوتي مرة واحدة فقط عندما يتم اكتشاف انتهاء الوقت المحدد لكل شاشة.

    • Like 1
  14. جرب . يمكنك استخدام دالة IF مع دالة ISNUMBER للتحقق مما إذا كان الطالب مسلمًا أم مسيحيًا، ثم استخدام الدوال الأخرى لتحديد ما إذا كان الطالب يدرس مسيحي ك1، مسيحي ك2، اسلامي ك1، أو اسلامي ك2. إليك كيفية تنفيذ ذلك:

     

    1. قم بفتح ورقة العمل في Excel.

    2. انقر بزر الماوس الأيمن على الخلية التي تريد وضع الرقم 1 فيها واختر "صيغة" ثم "محرر الصيغ" من القائمة المنبثقة.

    3. استخدم الصيغة التالية:

    
    
    =IF(ISNUMBER(MATCH("مسيحي ك1",$A1:$A$100,0)),1,
      IF(ISNUMBER(MATCH("مسيحي ك2",$A1:$A$100,0)),1,
      IF(ISNUMBER(MATCH("اسلامي ك1",$A1:$A$100,0)),IF(ISNUMBER(MATCH("مسيحي ك1",$A1:$A$100,0)),"",1),
      IF(ISNUMBER(MATCH("اسلامي ك2",$A1:$A$100,0)),IF(ISNUMBER(MATCH("مسيحي ك1",$A1:$A$100,0)),"",1),""))))

     

       حيث أن $A1:$A$100 هو المدى الذي يحتوي على أسماء الطلاب. يجب تغيير هذا المدى وفقًا لنطاق البيانات الخاص بك.

     

    4. اضغط على Enter.

     

    هذه الصيغة ستقوم بوضع الرقم 1 في الخلايا التي تحتوي على "مسيحي ك1" و "مسيحي ك2" للطلاب المسيحيين، وستترك الخلايا الفارغة للطلاب الذين يدرسون "اسلامي ك1" و "اسلامي ك2".

×
×
  • اضف...

Important Information