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

كود لجعل ورقة العمل مطاطية


إذهب إلى أفضل إجابة Solved by ياسر خليل أبو البراء,

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

رجاء من الاخوة الخبراء كتابة كود لجعل ورقة العمل مطاطية بمعنى اخفاء اى صف لا يحتوى على بيانات او قيمته =صفر فى اعمدة معينة

كالمثال فى الملف المرفق اخفاء الصف الذى لا يوجد به ارقام او قيمته 0 عند الاعمدة (اول المدة - وارد - منصرف )

ولكم جزيل الشكر

رابط هذا التعليق
شارك

لااستطيع ارفاق ملف تظهر لى رسالة (غير مسموح برفع هذا النوع من الملفات)

هو عبارة عن ملف اكسيل عادى كما يظهر مثلا

صنف           وارد         منصرف         رصيد

خشب            500                            500

كارتون           0              40               6

حديد                                                 80

اسمنت            30            0                

ورق                                                0

الومنيوم            0             0                0

 

المطلوب كود لعمل ( فلترة ) آلية للصفوف الموجود بها ارقام واخفاء الصفوف الخالية من الارقام او التى قيمتها صفر

ولكم جزيل الشكر

 

 

تم تعديل بواسطه abutaman
رابط هذا التعليق
شارك

أخي الكريم

أهلا بك في المنتدى ومرحباً بك بين إخوانك

-----------------------------------

يرجى تغيير اسم الظهور للغة العربية

 

يرجى الإطلاع على رابط التوجيهات لمعرفة كيفية التعامل مع المنتدى وإرفاق ملف

 

تقبل تحياتي

  • Like 1
رابط هذا التعليق
شارك

لااستطيع ارفاق ملف تظهر لى رسالة (غير مسموح برفع هذا النوع من الملفات)

هو عبارة عن ملف اكسيل عادى كما يظهر مثلا

صنف           وارد         منصرف         رصيد

خشب            500                            500

كارتون           0              40               6

حديد                                                 80

اسمنت            30            0                

ورق                                                0

الومنيوم            0             0                0

 

المطلوب كود لعمل ( فلترة ) آلية للصفوف الموجود بها ارقام واخفاء الصفوف الخالية من الارقام او التى قيمتها صفر

ولكم جزيل الشكر

الأخ أبو تمام :السلام عليكم 

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

لا أقول لك ذلك إلا للدلالة فاعذرني...

تقبل تحياتي والسلام عليكم

  • Like 1
رابط هذا التعليق
شارك

أخى صلاح

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

وكما فى المثال المرفق مطلوب اخفاء الصفوف التى خلاياها فى المنطقة الحمراء تساوى صفر

والمطلوب ايضا ان يكون الاخفاء اتوماتيكى اى بدون الضغط على زر

هذا ولك ولكل اخوانى الافاضل كل الشكر .

Book2.rar

  • Like 1
رابط هذا التعليق
شارك

تفضل يا اخى

اخفاء الاعمدة و الصفوف التى مجموعها = صفر

السلام عليكم أخي صلاح :

بارك الله بك وبحلولك الناجعة الناجحة 

(ما أنزل الله من داء إلا وله دواء علمه من علمه وجهله من جهله )

أي أننا سنجد حلاً لكل مشكلة...بإذن الله بوجود الأكارم أمثالكم...وفقكم الله والسلام عليكم.

  • Like 2
رابط هذا التعليق
شارك

تفضل يا اخى

اخفاء الاعمدة و الصفوف التى مجموعها = صفر

السلام عليكم أخي صلاح :

بارك الله بك وبحلولك الناجعة الناجحة

(ما أنزل الله من داء إلا وله دواء علمه من علمه وجهله من جهله )

أي أننا سنجد حلاً لكل مشكلة...بإذن الله بوجود الأكارم أمثالكم...وفقكم الله والسلام عليكم.

ا/ محمد حسن

تحياتى

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

فإن كان لديك طريقة فيرجى الافاده ولك الشكر .

رابط هذا التعليق
شارك

  • أفضل إجابة

الأخ الفاضل أبو يحيى

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

إليك الملف التالي .. وقارن أخي صلاح بين سرعة الإخفاء في كلا الكودين ..

كما يمكنك الاستغناء عن الأزرار ولكن لابد لكي يتم التنفيذ للإخفاء والإظهار تغيير معين في ورقة العمل ..فحددت لك الخلية A4

إذا وضعت بها القيمة صفر يتم الإخفاء وإذا تم مسح محتوياتها يتم الإظهار

Sub ShowAll()
    On Error Resume Next
    Application.ScreenUpdating = False
        With ActiveSheet.UsedRange
            .EntireRow.Hidden = False
            .EntireColumn.Hidden = False
        End With
    Application.ScreenUpdating = True
End Sub

Sub HideAll()
    Dim RW As Range, R_TB As Range
    Dim CL As Range, C_TB As Range
    
    Application.ScreenUpdating = False
        For Each RW In Range("N7:N200")
            If RW.Value = 0 Or RW = "" Then
                If R_TB Is Nothing Then
                    Set R_TB = RW
                Else
                    Set R_TB = Union(R_TB, RW)
                End If
            End If
        Next RW
        R_TB.EntireRow.Hidden = True
        
            For Each CL In Range("D201:N201")
            If CL.Value = 0 Or CL = "" Then
                If C_TB Is Nothing Then
                    Set C_TB = CL
                Else
                    Set C_TB = Union(C_TB, CL)
                End If
            End If
        Next CL
        C_TB.EntireColumn.Hidden = True
    Application.ScreenUpdating = True
End Sub


ويوضع الكود التالي في حدث الورقة

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A4")) Is Nothing Then
        Application.ScreenUpdating = False
            If Range("A4").Value = 0 And Not IsEmpty(Range("A4")) Then
                Call HideAll
            ElseIf IsEmpty(Range("A4")) Then
                Call ShowAll
            End If
        Application.ScreenUpdating = True
    End If
End Sub

أرجو أن يكون المطلوب :fff: :fff: :fff:

Hide Columns & Rows With Blanks.rar

  • Like 4
رابط هذا التعليق
شارك

تفضل يا اخى

اخفاء الاعمدة و الصفوف التى مجموعها = صفر

السلام عليكم أخي صلاح :

بارك الله بك وبحلولك الناجعة الناجحة

(ما أنزل الله من داء إلا وله دواء علمه من علمه وجهله من جهله )

أي أننا سنجد حلاً لكل مشكلة...بإذن الله بوجود الأكارم أمثالكم...وفقكم الله والسلام عليكم.

ا/ محمد حسن

تحياتى

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

فإن كان لديك طريقة فيرجى الافاده ولك الشكر .

تم تعديل بواسطه ابو يحيى1
رابط هذا التعليق
شارك

أخي الكريم

هل اطلعت على المشاركة رقم 10 التي تسد عين الشمس ؟  :yes:  لم تعقب عليها ؟!!!!!!!! :eek2:  فيها ما تريد :fff: :fff:

في المرفق الذي بالمشاركة .. الخلية A4

إذا وضعت بها القيمة صفر يتم الإخفاء وإذا تم مسح محتوياتها يتم الإظهار

  • Like 1
رابط هذا التعليق
شارك

اسف جدا جدا استاذنا ياسر

توجد مشكلة فى جهازى وتم ارسال نفس الرد مرتين بالخطأ.

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

واكرر اسفى وشكرى الجزيل .

رابط هذا التعليق
شارك

أ / ياسر

جزاك الله خيراً

فعلاً يوجد فرق كبير فى سرعة الاخفاء وعدم تهنيج الكمبيوتر

ماشاء الله وبارك الله لك فى علمك .

أخى / صلاح

مشكور لك مجهودك

فأنا مجرد مبتدئ فى عالم الاكسل

:fff: :fff: :fff: :fff:

رابط هذا التعليق
شارك

ا / ابو يحيى

كلنا مبتدئين

و الشكر كل الشكر للاستاذ / ياسر عبقرى الاكواد

يا سلام بقى لو كانت قيمة a4 =  صفر و تم مسح قيمة تجعل اجمالى الصف او العمود = صفر 

فيتم الاخفاء تلقائيا بعد الانتقال من الخلية

تم تعديل بواسطه صلاح الصغير
  • Like 1
رابط هذا التعليق
شارك

ويوضع الكود التالي في حدث الورقة

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A4")) Is Nothing Then
        Application.ScreenUpdating = False
            If Range("A4").Value = 0 And Not IsEmpty(Range("A4")) Then
                Call HideAll
            ElseIf IsEmpty(Range("A4")) Then
                Call ShowAll
            End If
        Application.ScreenUpdating = True
    End If
End Sub

أستاذنا / ياسر

ما المقصود بحدث الورقة ؟؟؟

واين يجب ان اكتب الكود الموجود بأعلى ؟؟

ولك كل الشكر  :signthankspin:   :fff:  :fff:  :fff:  :fff:  :fff: 

رابط هذا التعليق
شارك

ياسر خليل أبو البراء

 

 

الي الاستاذ / ياسر .....انت تآسر القلوب

                         انت خليل ...اعضاء المنتدي

                       انت لك براءه   اجابات (مثل براءه الاختراعات )

  • Like 1
رابط هذا التعليق
شارك

الأخ الحبيب صلاح

بالنسبة لطلبك يمكنك ببساطة وضع الكود في حدث Worksheet_SelectionChange والإشارة إلى الخلية التي بها إجمالي الصف أو العمود الهدف ..

 

الأخ الكريم أبو يحيى

الكود يوضع في حدث ورقة العمل ويتم ذلك عن طريق كليك يمين على التبويب (على اسم ورقة العمل) ثم الأمر View Code ...

قم بالإطلاع على المرفق في المشاركة رقم 10 مرة أخرى لتجد الكود ...

تقبل تحياتي

  • Like 2
رابط هذا التعليق
شارك

الأخ الحبيب صلاح

بالنسبة لطلبك يمكنك ببساطة وضع الكود في حدث Worksheet_SelectionChange والإشارة إلى الخلية التي بها إجمالي الصف أو العمود الهدف ..

 

الأخ الكريم أبو يحيى

الكود يوضع في حدث ورقة العمل ويتم ذلك عن طريق كليك يمين على التبويب (على اسم ورقة العمل) ثم الأمر View Code ...

قم بالإطلاع على المرفق في المشاركة رقم 10 مرة أخرى لتجد الكود ...

تقبل تحياتي

جزاك الله خيراً وبارك لك فى علمك

وتقبل منك صالح الاعمال

:clapping: 

رابط هذا التعليق
شارك

الأخ الحبيب صلاح

بالنسبة لطلبك يمكنك ببساطة وضع الكود في حدث Worksheet_SelectionChange والإشارة إلى الخلية التي بها إجمالي الصف أو العمود الهدف ..

 

الأخ الكريم أبو يحيى

الكود يوضع في حدث ورقة العمل ويتم ذلك عن طريق كليك يمين على التبويب (على اسم ورقة العمل) ثم الأمر View Code ...

قم بالإطلاع على المرفق في المشاركة رقم 10 مرة أخرى لتجد الكود ...

تقبل تحياتي

 

أستاذنا / ياسر

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

فى الملف المرفق حاولت جعل الاخفاء عندما تكون قيمة الخلية f1=0 والاظهار عندما تكون القيمة =1 وهذا يتم عندما اكتب القيمة بنفسى

ولكن عندما اجعل القيمة من خلال معادلة ومرتبطة بشيت أخر لا توجد استجابة

ولك الشكر .

Hide Columns & Rows With Blanks1.rar

رابط هذا التعليق
شارك

أخي الكريم

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

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

Hide Columns & Rows With Blanks.rar

رابط هذا التعليق
شارك

أخي الكريم

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

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

أستاذنا الجليل

جزاك الله خيراً لقد استفدت منك كثيراً

فلك كل الشكر

رابط هذا التعليق
شارك

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



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

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

Important Information