mr_looking قام بنشر مايو 12, 2005 قام بنشر مايو 12, 2005 السادة محترفى الاكسيل : تحية طيب لكم لدى مشكلة فى برنامج على الاكسيل وهي تكمن فى: 1- لدى 3250 صف مكونة من 6 اعمدة 2- يوجد بالصفوف الاولى صف 1و2و3 كليشات عبارة عن خلايا مدموجة (لا اريد ان يتم فرزها ولكن يتم طباعتها مع كل ورقه) 3- فى نهاية الصف رقم 3250 اجمالى المبالغ المدخلة فى الصف اريد : 1- زر يتم انشاءه لكي يقوم بفرز الصفوف الموجودة فى الورقة فرز ابجدياً من أ الى ي بعد اكمال ادخال البيانات اعتماداً على الاسماء المدخلة فى العمود B (لا اريد ان يتم فرز الصف رقم 1و2و3 وذلك لوجود بيانات مثل اسم الشركة والسجل التجاري فى خلايا مدموجة) 2- زر يتم انشاءه لكي يقوم باخفاء الصفوف التي لايوجد بها بيانات اعتمادا على البيانات المدخلة فى العمود B وc (بحيث يتم طباعة الصفوف التي بها بيانات ويقوم باخفاء الصفوف الى ليس بها بيانات , وذلك لوجود الصف الذي يوجد فيه الاجمالي في الصف رقم 3250 ) محاولات : استخدمت كود قام احد الاخوة الكرام بكتابته فى المنتدى ولكن حدث مشكلة وهي: عند تشغيل الكود عن طريق زر طباعه الذي تم انشاءه يقوم برنامج الاكسل باستخدام CPU بنسبة 100% وكذلك الذاكرة ويحدث عدم استجابة فى برنامج الاكسل ويتوقف البرنامج عن العمل الكود هو : Sub MyPrint() Application.ScreenUpdating = False With Sheets("Sheet1") With .UsedRange For i = 1 To .Rows.Count If .Cells(i, 1).Value = "" Then .Cells(i, 1).EntireRow.Hidden = True End If Next i End With .PrintOut .Rows.Hidden = False End With Application.ScreenUpdating = True End Sub
محمد حجازي قام بنشر مايو 13, 2005 قام بنشر مايو 13, 2005 السلام عليكم ... جرب الكود التالي : Sub MyPrint() Application.ScreenUpdating = False With Sheets("Sheet1") With .Range("A4:F3249") .Sort Key1:=.Cells(1, 2), Order1:=xlAscending For i = 1 To .Rows.Count If Application.WorksheetFunction.CountIf(.Rows(i), "") >= 6 Then .Rows(i).Hidden = True End If Next i End With .PrintOut .Rows.Hidden = False End With Application.ScreenUpdating = True End Sub ولكن انتبه إلى ما يلي : 1. لا حظ (من الكود) أن اسم الورقة هو Sheet1 (يمكن تغييره). 2. بالنسبة لتكرار الصفوف الثلاثة الأولى ، يمكنك ذلك عن طريق ما يلي : انقر على الخيار Page Setup الموجود ضمن القائمة File لتظهر لك نافذة : ضمن علامة التبويب Sheet حدد الصفوف المراد تكرارها عند طباعة كل صفحة (وكذلك الأعمدة) .
mr_looking قام بنشر مايو 18, 2005 الكاتب قام بنشر مايو 18, 2005 الاخ محمد حجازي يعطيك العافية : استخدمت الكود السابق ولكن هنالك مشكلة وهي ان الذاكرة تمتلئ وينتج عن ذلك توقف برنامج الاكسل ارجو ان تتكرم علي بحل لهذه لهذه المشكلة والله يعطيك العافية مقدماً
محمد حجازي قام بنشر مايو 19, 2005 قام بنشر مايو 19, 2005 السلام عليكم ... الكود السابق يأخذ وقتاً و لكن نتيجته مضمونة . يمكنك التقليل من الزمن عن طريق تضيق المجال A4:F3249 الموجود في الكود.
الردود الموصى بها