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

الردود الموصى بها

قام بنشر

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

مديونية 2025م.xls

قام بنشر (معدل)
  • رتيب البيانات:
    • تمت إضافة lastRow = .Cells(.Rows.Count, "L").End(xlUp).Row لتحديد آخر صف يحتوي على بيانات في العمود L (رصيد العميل). هذا يضمن أن الحلقة التالية تغطي جميع البيانات.
  • إخفاء الصفوف:
    • تمت إضافة حلقة For للتكرار على جميع الصفوف من 6 إلى lastRow.
    • داخل الحلقة، يتم التحقق من قيمة رصيد العميل في العمود L.
    • إذا كان الرصيد غير موجب (أقل من أو يساوي صفرًا)، يتم إخفاء الصف باستخدام .Rows(i).Hidden = True.
    • إذا كان الرصيد موجبًا، يتم إظهار الصف باستخدام .Rows(i).Hidden = False (للتأكد من إظهار الصفوف التي قد تكون مخفية سابقًا).
  • حساب إجمالي المديونية:
    • تم استخدام الدالة WorksheetFunction.SumIf لحساب مجموع الأرصدة الموجبة فقط في النطاق L6:L75.
    • تم تخزين النتيجة في المتغير totalDebt.
  • عرض إجمالي المديونية:
    • تمت إضافة السطر .Range("AI1").Value = "إجمالي المديونية: "

                  تمت إضافة السطر .   & totalDebt لعرض إجمالي المديونية في الخلية AH1. بللون الاحمر خط عريض وتنسيق القيمة بالجنية المصرى

                  يمكنك تغيير الخلية حسب الحاجة.

 

 

Sub ترتيب_وعرض_أرصدة_العملاء()

    Dim ws As Worksheet
    Dim lastRow As Long
    Dim i As Long
    Dim totalDebt As Double

    Set ws = ThisWorkbook.Sheets("ورقة1")

    With ws
        ' 1. ترتيب البيانات تنازليًا حسب رصيد العميل
        .Range("A6:AH75").Sort Key1:=.Range("L6:L75"), Order1:=xlDescending, Header:=xlNo

        ' 2. إخفاء الصفوف التي تحتوي على أرصدة غير موجبة أو تساوي صفرًا
        lastRow = .Cells(.Rows.Count, "L").End(xlUp).Row
        For i = 6 To lastRow
            If .Cells(i, "L").Value <= 0 Then
                .Rows(i).Hidden = True
            Else
                .Rows(i).Hidden = False
            End If
        Next i

        ' 3. حساب إجمالي المديونية
        totalDebt = WorksheetFunction.SumIf(.Range("L6:L75"), ">0")

        ' 4. عرض إجمالي المديونية
        .Range("AI1").Value = "إجمالي المديونية: " 
        .Range("AH1").Value = totalDebt
        .Range("AH1").NumberFormat = "#,##0.00 ""ج.م""" ' تنسيق مخصص

        ' 5. تنسيق الخلية AH1
        With .Range("AH1")
            .Font.Color = RGB(255, 0, 0) ' تعيين لون الخط إلى الأحمر
            .Font.Bold = True ' تعيين الخط إلى عريض
        End With

    End With

End Sub

 

 

 

مديونية 2025م(1).xls

تم تعديل بواسطه mahmoud nasr alhasany
قام بنشر

وهذا الكود الى اخر بيانات مدرجه وليس نطاق معين  .Range("A6:AH75").Sort Key1:=.Range("L6:L75"), Order1:=xlDescending, Header:=xlNo

.Range("A6:AH75").Sort Key1:=.Range("L6:L75"), Order1:=xlDescending, Header:=xlNo
Sub ترتيب_وعرض_أرصدة_العملاء()

    Dim ws As Worksheet
    Dim lastRow As Long
    Dim i As Long
    Dim totalDebt As Double

    Set ws = ThisWorkbook.Sheets("ورقة1")

    With ws
        ' 1. تحديد LastRow
        lastRow = .Cells(.Rows.Count, "L").End(xlUp).Row

        ' 2. ترتيب البيانات تنازليًا حسب رصيد العميل باستخدام LastRow
        .Range("A6:AH" & lastRow).Sort Key1:=.Range("L6:L" & lastRow), Order1:=xlDescending, Header:=xlNo

        ' 3. إخفاء الصفوف التي تحتوي على أرصدة غير موجبة أو تساوي صفرًا
        For i = 6 To lastRow
            If .Cells(i, "L").Value <= 0 Then
                .Rows(i).Hidden = True
            Else
                .Rows(i).Hidden = False
            End If
        Next i

        ' 4. حساب إجمالي المديونية باستخدام LastRow
        totalDebt = WorksheetFunction.SumIf(.Range("L6:L" & lastRow), ">0")

        ' 5. عرض إجمالي المديونية وتنسيقها
        .Range("AH1").Value = totalDebt
        .Range("AH1").NumberFormat = "#,##0.00 ""ج.م""" ' تنسيق مخصص

        ' 6. تنسيق الخلية AI1
        With .Range("AI1")
            .Font.Color = RGB(255, 0, 0)
            .Font.Bold = True
            .Value = "إجمالي المديونية: " & totalDebt
        End With
    End With

End Sub

 

  • Like 1
قام بنشر

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information