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

abouelhassan

05 عضو ذهبي
  • Posts

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

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

  • Days Won

    7

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

  1.  يبدو أن هناك خلط في الاستخدام. يجب وضع الكود في وحدة VBA للمصنف (Module) بدلاً من وضعه في حدث الملف أو حدث الورقة. قم باتباع الخطوات التالية:

    1. افتح المصنف واذهب إلى عارض المشروع (عن طريق الضغط على ALT + F11).

    2. في عارض المشروع، انقر بزر الماوس الأيمن على أحد الأوراق في الجزء الأيسر، ثم اختر "Insert" > "Module" لإضافة وحدة جديدة.

    3. انسخ والصق الكود في الوحدة الجديدة.

    4. أغلق نافذة VBA واحفظ التغييرات.

    5. أعد فتح الملف وجرب تغيير قيم في الخلايا لرؤية التأثير.

  2. 24 دقائق مضت, ابوخليل said:

    طيب رأيي ان ما يتم حمايته لا يظهر  من الأساس الا للمدير

    ما الفائدة من عرض سجل محمي ؟

    المدخلات تظل تراجع ولكن لايجب لن يتم تعديلها بعد انتهاء الشهر بس يمكن الاطلاع عليها 

    فاهمنى اخى

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

  3. تسلم ايدك اخى تحفة التصميم الرئيسى بالقوائم تحفة جداا

    قمت بعمل 

    DoCmd.Maximize

    النموذج ملئ الشاشة بس كل الكائنات تجاه اليمين عايز النموذج كما هو بس ملئ الشاشة كان عندى كود بيعمل ده مش لقيه

    احتاج الى كود الضبط التلقائى للشاشة كان عندى بس مش لقيه

    قمت بعمل شيك اختيار فى نموذج البحث بحيث اعمل اختيار وعملت زر بالاعلى لعمل اختيار للكل وزر اسمه حذف المحدد

    شاكر فضلك

     

    FinancialPrg1.accdb

    بالنسبة للحماية

    اطلعت على موضوعك السابق بهذا الخصوص وعلمت ما تريد بالضبط .

    هل تريد اعتماد تاريخ الانترنت ؟ 

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

    على اعتبار المدير له الصلاحية الكاملة في التعديل على القديم والجديد

    تمام اخى

  4. سامحنى اخى احاول المساعدة قدر الامكان والله

    جرب هذا الكود يستخدم مجموعة من الخلايا لتخزين حالتها قبل وبعد التغييرات. عند فتح الملف، يتم تسجيل قيم الخلايا غير الفارغة. عندما تُغلق الملف، يتم مسح حالة الخلايا. وعند تغيير القيم في الخلايا، يتم التحقق مما إذا كانت القيمة الجديدة غير فارغة ومختلفة عن القيمة السابقة، حيث يتم تغيير لون الخلفية إلى الأسود ولون النص إلى الأبيض وتحديث حالة الخلية

    Dim cellState As New Collection
    
    Private Sub Workbook_Open()
        Dim ws As Worksheet
        Dim cell As Range
    
        For Each ws In ThisWorkbook.Worksheets
            For Each cell In ws.UsedRange
                If Not IsEmpty(cell.Value) Then
                    cellState.Add cell.Value, cell.Address
                End If
            Next cell
        Next ws
    End Sub
    
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
        cellState.Clear
    End Sub
    
    Private Sub Worksheet_Change(ByVal Target As Range)
        Dim cell As Range
    
        For Each cell In Target
            If Not Intersect(cell, Me.UsedRange) Is Nothing Then
                If Not IsEmpty(cell.Value) And cell.Value <> cell.Text Then
                    cell.Interior.Color = RGB(0, 0, 0) ' Black color
                    cell.Font.Color = RGB(255, 255, 255) ' White color
                    If cellState.Contains(cell.Address) Then
                        cellState.Remove cell.Address
                    End If
                    cellState.Add cell.Text, cell.Address
                End If
            End If
        Next cell
    End Sub

     

  5. تمام اخى سأحاول فى السابق طرحه أن شاء الله استطيع عمل أغلبه 

    بس لى طلب عدم القدرة على تعديل البيانات بعد يوم 10 الشهر التالى

    لدى كود فى برنامج قديم بس بيعتمد على كلمة فى عمود فى جدول البيانات وهى مرحل إذا أتى يوم 10 الكود  بيكتب مرحل فيمنع التعديل 

    احتاج لتوجيه حضرتك فى هذه النقطة الهامة لمنع التلاعب بالبيانات

    كمان عايز ضبط النماذج لتأخذ حجم الشاشة اى شاشة لا اعرفه

    وفى نموذج البحث احتاج إذا لزم الأمر لحذف السجل غير موجود او حذف مجموعة سجلات مرة واحدة

    حيث أن الغرض من نموذج البحث التعديل فى حال وجود خطأ وذلك خلال الشهر الحالى اما بعد يوم 10الشهر التالى لا يمكن التعديل أو الحذف أو تغير اى شئ فى البيانات 

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

  6. اسف اخى ممكن تجرب هذا الكود أن شاء الله يضبط

    
    Private Sub Worksheet_Change(ByVal Target As Range)
        Dim cell As Range
        Dim rng As Range
    
        Set rng = Me.Range("E:H,J:K")
    
        For Each cell In Target
            If Not Intersect(cell, rng) Is Nothing Then
                If cell.Value <> cell.Text Then
                    cell.Interior.Color = RGB(0, 0, 0) ' Black color
                    cell.Font.Color = RGB(255, 255, 255) ' White color
                Else
                    cell.Interior.ColorIndex = xlNone ' No color
                    cell.Font.ColorIndex = xlAutomatic ' Automatic font color
                End If
            End If
        Next cell
    End Sub

    للاختبار اخى الكريم هذا الكود يقوم بتحديد نطاق الخلايا المراد مراقبتها (E:H و J:K)، وعند تغيير أي قيمة في هذه الخلايا، يتم تغيير لون الخلفية إلى الأسود ولون النص إلى الأبيض. إذا لم يحدث أي تغيير في القيمة، ستظل الخلية كما هي. ويمكنك تعديل النطاق كما تحب إذا نجح الكود

    تحياتي 

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

    زادك الله من فضله وكرمه واعزك الله بين العباد ان شاء الله اطال الله عمرك حبيبي اخى

    الى هنا كل شئ تمام يبقى فينش البرنامج ليبدأ العمل

    اشكرك  من كل قلبى

  8. اسف اخى رمضان كريم

    التقرير مطلوب أن يحضر البيانات ما بين تاريخين ل

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

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

    وذلك للمبالغ الدائنة فقط أو للمبالغ المدينة فقط أو الاثنين

    كمان حالة الصرف تم الصرف أو لا. تقرير 

    كل هذا يطلب منى

    بمعنى طلب منى تقرير عن مجموعة حسابات فى فترة معينة 

    او مجموعة انواع حسابات فى فترة معينة 

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

    او طلب تقرير عن المبالغ المدينة لمجموعة حسابات وهكذا اخى الكريم

    شاكر فضلك وكرمك 

  9. تمام اخى الكريم تم المراجعة وفهمت تم تغير المعيار ليصبح اسم ونوع الحساب ارقام

    البحث ممتاز 

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

    كم احتاج استخراج المدين لواحده والدائن لواحده لحسابات متعددة 

    او انواع متعدده 

    التقرير الحالى يعتمد على استخراج البيانات لنوع واحد من الحسابات وكذلك حساب واحد

    طيب فى حال أنواع مختلفة من الحسابات وأنواع مختلفة من الحسابات هل بالامكان أن يكون استخراج البيانات بالمرونة التى تمكن من استخراج اى تقرير مطلوب ليعطى البرنامج قوة استخراج التقارير. اى كان المطلوب 

    شكر وتقدير من القلب

  10. فهمت

    ان شاء الله يكون طلبك

     

    
    Private Sub Worksheet_Change(ByVal Target As Range)
        Dim cell As Range
    
        For Each cell In Target
            If Not Intersect(cell, Me.UsedRange) Is Nothing Then
                If cell.Value <> cell.Text Then
                    cell.Interior.Color = RGB(0, 0, 0) ' Black color
                    cell.Font.Color = RGB(255, 255, 255) ' White color
                End If
            End If
        Next cell
    End Sub

     

  11. ممتاز يمتاز بالبساطة والقوة والله تسلم ايدك اخى

    حاولت اضافة جملة

         .FilterOn = False فى نموذج البحث بحيث تخفى البيانات لم تنجح احتاج شرح كيف عملها اخى

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

    تسلم ايدك اخى الكريم بصراحة جميل جدا ويمتاز بالسهولة فى الفهم وتطبيق كل جزئ

    احتاج شرح لماذا نوع الحساب يظهر بالجدو الرئيسى رقم وليس اسم وما هو السبيل لتعديله ليكون اسم

    شكرا من القلب
     

  12. 2 ساعات مضت, بلانك said:

    هو نفس الكود السابق

    اسف رمضان كريم

    
    Private Sub Worksheet_Change(ByVal Target As Range)
        Dim cell As Range
    
        For Each cell In Target
            If Not Intersect(cell, Me.UsedRange) Is Nothing Then
                If cell.Value <> "" Then
                    cell.Interior.Color = RGB(0, 0, 0) ' Black color
                    cell.Font.Color = RGB(255, 255, 255) ' White color
                End If
            End If
        Next cell
    End Sub

     

    • Like 1
  13. اخى حبيبي الكريم

    اكتشفت أثناء العمل أننى احتاج ادخال البيانات لعدد من الأنواع من التصنيفات الحسابات بمعنى كل صنف ممكن ان يكون له نوع مختلف كما انا كاتبه يعنى الصنف الأول النوع الأول والصنف الأول النوع الثانى وهكذا

    يعنى الصنف يدخل لحساب ونوع الحساب 

    احتاج الى بيانات لهذا التصنيف للفلترة به

    حاولت العمل واجتهد للتعلم والله 

     

    اتمنى يكون الفكرة وصلت لحضرتك

    تقبل تحياتي 

  14. السلام عليكم اخى

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

    تم اضافة كائن للبحث بالنوع فى نموذج البحث والتعديل وكذلك كائن البحث بالتاريخ

    ارجو الاطلاع شاكر فضلك

    Financial_db2.accdb

  15. جرب اخى الكريم

    
    Private Sub Worksheet_Change(ByVal Target As Range)
        Dim cell As Range
    
        For Each cell In Target
            If Not Intersect(cell, Me.UsedRange) Is Nothing Then
                cell.Interior.Color = RGB(0, 0, 0) ' Black color
                cell.Font.Color = RGB(255, 255, 255) ' White color
            End If
        Next cell
    End Sub

    كل عام وانتم بخير وصحه وسلامه 

    • Like 1
  16. اخى الغالى تم عمل تعديل على نموذج البحث والتعديل واضافة كأئنات للبحث مثل الحساب وحالة الصرف 

    والحمد لله ضبطت ينقص اكواد الفلترة حيث تظهر كل البيانات فى البحث

    وجدت اننى احتاج نوع الحساب -جديد/قديم اخى عذرا ممكن توجيهى لكى اضيفه 

    كمان ايه رأيك اخى استطيع عمل نموذج يقوم بعرض كل البيانات حال احتجناها ايه رأيك

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

    اشكرك تقبل احترامى وتقديرى وعرفانى بالجميل

     

    Financial_db2.accdb

×
×
  • اضف...

Important Information