اعلن هنا
أكاديمية الصقر للتدريب
أعلن هنا
أعلن هنا
أعلن هنا
أعلن هنا



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





كود لاستخدام المصفوفات لإخفاء الأعمدة التى قيمتها صفر

السلام عليكم اريد استخدام المصفوفات لإخفاء الأعمدة الصفرية (التي يكون مجموعها = صفر ) ومجموع كل عمود موجود في الصف = 46 ..



19-01-2018 05:08 مساء
أباالحسن
menu_open
عضو فعال
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 22-08-2017
رقم العضوية : 18
المشاركات : 191
الجنس : ذكر
تاريخ الميلاد : 7-7-1979
يتابعهم : 4
يتابعونه : 9
قوة السمعة : 295
الاعجاب : 110
 offline 

السلام عليكم
اريد
استخدام المصفوفات لإخفاء الأعمدة الصفرية (التي يكون مجموعها = صفر )
ومجموع كل عمود موجود في الصف = 46 ،

وأنا استخدم كود عادى وهو 


Sub Payrolls_HideColumns()

For x = 3 To 94

If ActiveSheet.Cells(45, x) = 0  Then
ActiveSheet.Cells(45, x).EntireColumn.Hidden = True
End If
Next x

ActiveSheet.[E5].Select

End Sub

لكنه يكون بطىء في التنفيذ أحيانا

وقد حاولت ستخدام  المصفوفات عن طريق هذا الكود
وهو من عمل
الاستاذ الفاضل / ياسر خليل
، لكن عند تطبيقه كان هناك خطأ منى

والمطلوب تصحيح هذا الكود  ، أو اقتراح كود جديد


Sub MyArry()

Dim arr(4 To 94, 46 To 46)
Dim i As Long
Dim t As Single

t = Timer






    For i = 1 To UBound(arr, 1)
         arr(i, 1) = i
    Next i
    
    Sheets("sheet1").Range("D46").EntireColumn.Hidden.Resize(UBound(arr, 1)).Value = arr
    
    MsgBox Timer - t
End Sub

هذا هو الملف المرفق 
لمشاهدة الروابط يلزمك التسجيل في أكاديمية الصقر للتدريب
 
 
  استخدام المصفوفات لتسريع تنفيذ الكود.rar   تحميل rar مرات التحميل :(17)
الحجم :(46.678) KB



تم تحرير الموضوع بواسطة :أباالحسن
بتاريخ:19-01-2018 05:16 مساء







19-01-2018 10:56 مساء
مشاهدة مشاركة منفردة [1]
زيزو العجوز
menu_open
عضو محترف
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 26-08-2017
رقم العضوية : 163
المشاركات : 103
الجنس : ذكر
الدعوات : 1
يتابعهم : 0
يتابعونه : 10
قوة السمعة : 766
الاعجاب : 193
 offline 
look/images/icons/i1.gif كود لاستخدام المصفوفات لإخفاء الأعمدة التى قيمتها صفر
السلام عليكم ورحمة الله
بدون مصفوفات جرب هذا الكود
Sub DelCols()
Dim Rng As Range, Rw As Long, i As Long
Application.ScreenUpdating = False
Set Rng = ActiveSheet.Range("A2:CP" & ActiveSheet.Range("B" & Rows.Count).End(xlUp).Row)
Rw = Rng.Columns.Count
For i = Rw To 1 Step -1
If WorksheetFunction.Sum(Rng.Columns(i)) = 0 Then Rng.Columns(i).Hidden = True
Next
Application.ScreenUpdating = True
End Sub


أثارت هذه المشاركة إعجاب: محمود ابو الدهب، mohammed gurtuby،




21-01-2018 10:19 مساء
مشاهدة مشاركة منفردة [2]
أباالحسن
menu_open
عضو فعال
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 22-08-2017
رقم العضوية : 18
المشاركات : 191
الجنس : ذكر
تاريخ الميلاد : 7-7-1979
يتابعهم : 4
يتابعونه : 9
قوة السمعة : 295
الاعجاب : 110
 offline 
look/images/icons/i1.gif كود لاستخدام المصفوفات لإخفاء الأعمدة التى قيمتها صفر
جزاكم الله خيرا خي 
وان كنت اري انه بنفس فكرة الكود الذى اعمل عليه
الذى هو قائم على حلقة تكرارية 
مما يكون معه بعض البطء خاصة فى البيانات الكبيرة

 





22-01-2018 01:10 مساء
مشاهدة مشاركة منفردة [3]
محب لله ورسوله
menu_open
عضو مشارك
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 08-09-2017
رقم العضوية : 425
المشاركات : 23
الجنس : ذكر
تاريخ الميلاد : 14-3-1983
الدعوات : 1
يتابعهم : 0
يتابعونه : 1
قوة السمعة : 46
الاعجاب : 13
 offline 
look/images/icons/i1.gif كود لاستخدام المصفوفات لإخفاء الأعمدة التى قيمتها صفر
الملف يعمل جيدا ولا يوجود بطىء فى الكود
يمكن تكون المشكله عندك فى الشيت نفسه

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

Sub Abu_Ahmed_Hide()
Application.ScreenUpdating = False
For i = 11 To 748

If Cells(446, i).Value = 0 Then Cells(446, i).EntireColumn.Hidden = True

Next
Application.ScreenUpdating = True
End Sub


 


تم تحرير المشاركة بواسطة :محب لله ورسوله
بتاريخ:22-01-2018 01:14 مساء






27-01-2018 01:23 صباحا
مشاهدة مشاركة منفردة [4]
YasserKhalil
menu_open عضوية موثقة
مراقب عام
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 3298
الجنس : ذكر
تاريخ الميلاد : 1-10-1978
الدعوات : 11
يتابعهم : 0
يتابعونه : 269
قوة السمعة : 9129
الاعجاب : 3091
 offline 
look/images/icons/i1.gif كود لاستخدام المصفوفات لإخفاء الأعمدة التى قيمتها صفر
أخي العزيز أبا الحسن
جرب الكود التالي (لا داعي للمصفوفات في هذه الحالة)
Sub Payroll_HideColumn()
    Dim oRange      As Range
    Dim cell        As Range
    Dim x           As Long

    On Error Resume Next

    Application.ScreenUpdating = False
    Application.EnableEvents = False
    Application.Calculation = xlCalculationManual
        For x = 4 To 94
            If Sheets("Sheet1").Cells(46, x) = 0 Then
                Set cell = Sheets("Sheet1").Cells(46, x)
                If oRange Is Nothing Then Set oRange = cell Else Set oRange = Union(oRange, cell)
    
            End If
        Next x
    
        If Not oRange Is Nothing Then oRange.EntireColumn.Hidden = True
    Application.ScreenUpdating = True
    Application.EnableEvents = True
    Application.Calculation = xlCalculationAutomatic

    Sheets("Sheet1").[E5].Select
End Sub





28-01-2018 09:42 مساء
مشاهدة مشاركة منفردة [5]
أباالحسن
menu_open
عضو فعال
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 22-08-2017
رقم العضوية : 18
المشاركات : 191
الجنس : ذكر
تاريخ الميلاد : 7-7-1979
يتابعهم : 4
يتابعونه : 9
قوة السمعة : 295
الاعجاب : 110
 offline 
look/images/icons/i1.gif كود لاستخدام المصفوفات لإخفاء الأعمدة التى قيمتها صفر
جزاكم الله خيرا أ- ياسر
لكن سؤال بسيط 
الكود الذى استخدمته انا سابقا 
احيانا يتم تطبيقه فى 0.5 نصف ثانية 
واحيانا ينفذ في 30 ثانية
فما السبب
هل مثلا الذاكرة تكون ممتلئة او لان هناك عدة برامج تعمل مع اكسيل 
ام لسبب اخر 
وشكرا


تم تحرير المشاركة بواسطة :أباالحسن
بتاريخ:28-01-2018 09:43 مساء


أثارت هذه المشاركة إعجاب: تاج الدين،




28-01-2018 11:13 مساء
مشاهدة مشاركة منفردة [6]
YasserKhalil
menu_open عضوية موثقة
مراقب عام
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 3298
الجنس : ذكر
تاريخ الميلاد : 1-10-1978
الدعوات : 11
يتابعهم : 0
يتابعونه : 269
قوة السمعة : 9129
الاعجاب : 3091
 offline 
look/images/icons/i1.gif كود لاستخدام المصفوفات لإخفاء الأعمدة التى قيمتها صفر
وجزيت خيراُ بمثل ما دعوت لي ..
قد يكون السبب في ذلك عمل عدة برامج مما يعطل الذاكرة بعض الشيء







الكلمات الدلالية
لاستخدام ، المصفوفات ، لإخفاء ، الأعمدة ، التى ، قيمتها ،


 







اخلاء مسئولية: يخلى منتدى أكاديمية الصقر للتدريب مسئوليته عن اى مواضيع او مشاركات تندرج داخل الموقع ويحثكم على التواصل معنا ان كانت هناك اى إنتهاكات تتضمن اى انتهاك لحقوق الملكية الفكرية او الادبية لاى جهة - بالتواصل معنا من خلال نموذج مراسلة الإدارة .وسيتم اتخاذ الاجراءات اللازمة.
سياسة النشر: التعليقات المنشورة لا تعبر عن رأي منتدى أكاديمية الصقر للتدريب ولا نتحمل أي مسؤولية قانونية حيال ذلك ويتحمل كاتبها مسؤولية النشر.



الساعة الآن 03:29 صباحا

أعلن هنا
أعلن هنا
أعلن هنا