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

تسريع عمل مصنف اكسل


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

بسم الله الرحمن الرحيم

 

أخوتي الأفاضل لدي بعض الإستفسارات لأصحاب الخبرة :

 

- ماهي أفضل طريقة لتسريع عمل مصنف اكسل يوجد به معادلات كبيرة و أكثر من عشرين ألاف صف مع استخدام دوال مثل sum ifs و countif و vlookup وغيرها من المعادلات المشابهة

 

- هل عندما نقوم بتحويل المعادلات العادية إلى أكواد VBA يختلف أداء عمل المصنف إلى الأفضل

 

- هل يمكن الاعتماد على اكسل كواجهة للقيام بالحسابات و عرض النتائج لقاعدة بيانات موجودة في ملف اكسس ( هل يمكن الربط بينهما ) . 

 

أتمنى من الجميع المشاركة ولكم كل المودة و التقدير

 

 

 

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

السلام عليكم

الاخ / عبد الرحمن

انا لا اعتقد مهما فعلت مع اكسيل ان يكون سريع خاصه النطاق الذى لديك كبير ومن ما جعل الموضوع اصعب معادله sumif من ما يؤدى الى كثير من البطىء

ولكن جرب تحوبل المدى الى xlsb. الاصغر حجما والاسرع اداءا وعلى الاقل هى محاوله والسلام

 

رأى اخر اعتقد انه البديل الامثل هو استبدال عمل المعادلات بأكواد VBA ليكون الملف اسرع آلاف المرات ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ من المعادلات

 

وانتظر اراء خبراء الاعضاء

 

هذا ما لدى والله اعلم 

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

السلام عليكم

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

والحلول التي اقترحها هي :

 1 تحويل بعض الصيغ إلى أكواد فيجوال

 

 

 2 استخدام الدالة indirect  فهي ( قد ) تختصر المعادلات

انظر الرابط     http://www.officena.net/ib/index.php?showtopic=34740&hl=

 

 

 3 تحويل ملف الإكسل إلى الإمتداد xlsb يعنى النظام الثنائي

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

شكرا أخي ابو عيد على هذه المعلومات القيمة بانتظار تفاعل المزيد من الزملاء للخروج بأكبر قدر ممكن من المعلومات المتعلقة بهذا الموضوع ,

 

شكرا وبارك الله بك

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

السلام عليكم

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

والحلول التي اقترحها هي :

 1 تحويل بعض الصيغ إلى أكواد فيجوال

 

 

 2 استخدام الدالة indirect  فهي ( قد ) تختصر المعادلات

انظر الرابط     http://www.officena.net/ib/index.php?showtopic=34740&hl=

 

 

 3 تحويل ملف الإكسل إلى الإمتداد xlsb يعنى النظام الثنائي

 

أخي أبو عيد ما هي أفضل طريقة لتحويل المعادلات إلى أكواد ؟

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

السلام عليكم

لان الملف الذي تتحدث عنه كبير الحجم فأقترح عليك أن ترفق جزء من الملف حتى أتمكن من التطبيق عليه عمليا

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

تحياتي

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

أخي ابو عيد شكرا على تفاعلك 

 

سوف احاول التعديل بعض الشيء على الملف و ارساله إليك

 

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

 

هل يمكن استخدامه مع جميع المعادلات :

Option Explicit


Sub Kh_Formula_To_Value()
Dim MyCalcu As XlCalculation
With Application
    MyCalcu = .Calculation
    .Calculation = xlCalculationManual
    .ScreenUpdating = False
End With
'=====================================
'//////////////////////////////////////
'=====================================
'  هنا تضع النطاق والمعادلة التي تريد تحويلها قيم
'      Formula_To_Value باستخدام
'=====================================
' T هنا المعادلة اللي في العمود
Formula_To_Value Range("T5:T30"), "=RC[-2]*RC[-1]"

' x هنا المعادلة اللي في العمود
'  مثل عمل كود الاخ كيماس

Formula_To_Value Range("X5:X30"), "=IF(COUNTIF(RC16:R30C16,RC16)=1,SUMPRODUCT((R5C16:R1500C16=RC16)*(R5C20:R1500C20)),"""")"

' Y هنا المعادلة اللي في العمود
Formula_To_Value Range("Y5:Y30"), "=SUMPRODUCT((R5C16:R1500C16=RC16)*(R5C20:R1500C20))"
'=====================================
'//////////////////////////////////////
'=====================================
With Application
    .ScreenUpdating = True
    .Calculation = MyCalcu
End With

End Sub

Sub Formula_To_Value(MyRng As Range, MyFormula As Variant)
With MyRng
    .ClearContents
    .Formula = MyFormula
    .Cells = .Value
End With
End Sub

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

تفضل

محول صيغ معادلات الورقة الحالية إلى اكواد 

هذه النسخة قديمة للخبير الأستاذ عمر الحسيني

بإمكانك مراسلته للحصول على أحدث نسخة إن أمكن

Convert _formulas2Code.rar

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

بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته

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

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

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

وعلى العموم جرب وأخبرني بالنتيجة

والله الموفق إلى كل خير

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

تفضل

محول صيغ معادلات الورقة الحالية إلى اكواد 

هذه النسخة قديمة للخبير الأستاذ عمر الحسيني

بإمكانك مراسلته للحصول على أحدث نسخة إن أمكن

 

شكرا أخي أبو عيد على هذا المجهود الطيب , حاولت تشغيل الملف لم يعمل

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

 

بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته

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

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

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

وعلى العموم جرب وأخبرني بالنتيجة

والله الموفق إلى كل خير

 

شكرا لك أخي هشام على هذه الإفادة الرائعة جعلها الله في ميزان حسناتك

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

     السلام عليكم

بعض المبرمجين عندما يعملون البرامج بالإكسل ينشئون صفحات خالية تحوي معادلات لا حاجة لنا بها 

مثال : أنا مدرس أنشأت برنامج لإدارة درجات الطلاب خلال العام الدراسي  والبرنامج الذي عملته يحوى 9 صفحات (من المستوى الأول إعدادي إلى المستوى التاسع)

يختلف عدد الطلاب من  مستوى لآخر فإذا كان عدد الطلاب في المستوى الأول إعدادى (مثلا) 150 طالبا فيجب أن أضع المعادلات لهذا العدد بالضبط ولا أزيد

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

الصفوف خالية ليس بها طلاب لكن بها معادلات تزيد من حجم الإكسل

الطريقة هي أن نضع المعادلات بحسب الحاجة ولا نزيد فإذا ادخلنا اسم 70 طالب فإننا نحتاج لحساب البيانات لهؤلاء السبعين فقط

لاحظ في المرفق أن اسم الزر يتغير عند الرغبة في تحديث البيانات

تفضلوا المرفق  

تحويل المعادلات إلى أكواد.rar

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

أخي أبو عيد شكرا على هذا التوضيح الجميل

حاولت تشغيل ملف لم يعمل

 

هل يوجد تحديث له او هناك طريقة معينة لفتحه

 

شكرا جزيلا

Convert _formulas2Code (1).rar

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

الأخ عبدالرحمن

لتشغيل الملف اتبع الخطوات الآتية :

1 افتح ملفك الذي تريد تحويل المعادلات فيه

2 الآن اذهب إلى ملف التحويل CONVERT وافتحه , ستظهر لك رسالة داخل ملفك . اضغط X (يعني أغلق الرسالة)

3 ستلاحظ أعلى الصفحة في ملفك ظهور قائمة جديدة في شريط القوائم في الأعلى اسمه ( الوظائف الإضافية )

4 وبالضغط على (الوظائف الإضافية) تظهر عدة خيارات من ضمنها تحويل المعادلاب إلى أكواد

 

ملاحظة قد لا يعمل الملف بشكل سليم لأنه قديم

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

  • 1 month later...

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