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

تقليل حجم ملف الإكسيل (موضوع للبحث)


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

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

إخواني الكرام

أحياناً يصادفنا أن يكون حجم الملف كبير جداً مقارنةً بالبيانات الموجودة بداخل الملف ..

فقررت عمل موضوع مفتوح يقوم الأعضاء باقتراح طرق لتقليل حجم الملف ..

وإليكم ملف للأخ سليم حاصبيا في أحد الموضوعات ..حجم الملف أكثر من 5 ميجا

العبد الفقير لله لديه كود خطير يساهم في حل المشكلة ولكن لن أقدمه الآن (كنوع من التشويق ) :wink2:

في انتظار مشاركاتكم القيمة والمساهمة في حل مشكلة تقابل الجميع

وفقكم الله لما يحب ويرضى

 

Last Price SALIM.rar

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

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

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

11.thumb.jpg.67a6450335940f91443b3e7063d

 

 

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

يا كبير انزل بالدرامز  متشوقناش اكتر من كدا :wink2:

كان هناك مشاركه بنفس الموضوع قبل كدا والاخ المهندس احمد قدم فيديو للحل

وانت كمان كان ليك حل اخر 

الرابط هو     http://www.officena.net/ib/topic/59193-ملف-فارغ-354-ك-ب/

تقبل تحياتى

 

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

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

 

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

 الموضوع للافادة او اذا وجد حل اخر فنكون شاكرين لجهودكم 

http://www.officena.net/ib/topic/55607-حجم-الملف-فجأة-اصبح-يزيد-بطريقه-رهيبه/

لكم مني كل الشكر والتقدير علي مجهودكم العظيم لهذا المنتدي ولاعضائه

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

أستاذن الكبير 

أ/ ياسر

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

إخواني الكرام

أحياناً يصادفنا أن يكون حجم الملف كبير جداً مقارنةً بالبيانات الموجودة بداخل الملف ..

فقررت عمل موضوع مفتوح يقوم الأعضاء باقتراح طرق لتقليل حجم الملف ..

وإليكم ملف للأخ سليم حاصبيا في أحد الموضوعات ..حجم الملف أكثر من 5 ميجا

العبد الفقير لله لديه كود خطير يساهم في حل المشكلة ولكن لن أقدمه الآن (كنوع من التشويق ) :wink2:

في انتظار مشاركاتكم القيمة والمساهمة في حل مشكلة تقابل الجميع

وفقكم الله لما يحب ويرضى

 

Last Price SALIM.rar

أستاذنا الكبير

أ/ ياسر خليل

لدى حل بسيط بس أكدي مش بنفس قوة حلك

وهو انك تحفظ الملف بصيغة .xlsb

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

يارب يكون حل مفيد ومجدي للجميع

وفي انتظار حلك المميز

واليكم الفرق في المرفقات

Last Price SALIM.rar

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

السلام عليكم ورحمة الله  أستاذنا الغالى

طريقة الموضوع تعجبنى فهى تجعل الطالب يبحث عن المعلومة والاستاذ يقيم  و اسمح لى أستاذى بأن أشارك بهذه الطريقة :

ضع الكود الكود التالى فى ملف الأستاذ سليم اللى هو 5 ميجا 

Option Explicit 
 
Sub ExcelDiet() 
     
    Dim j               As Long 
    Dim k               As Long 
    Dim LastRow         As Long 
    Dim LastCol         As Long 
    Dim ColFormula      As Range 
    Dim RowFormula      As Range 
    Dim ColValue        As Range 
    Dim RowValue        As Range 
    Dim Shp             As Shape 
    Dim ws              As Worksheet 
     
    Application.ScreenUpdating = False 
    Application.DisplayAlerts = False 
     
    On Error Resume Next 
     
    For Each ws In Worksheets 
        With ws 
             'Find the last used cell with a formula and value
             'Search by Columns and Rows
            On Error Resume Next 
            Set ColFormula = .Cells.Find(What:="*", After:=Range("A1"), LookIn:=xlFormulas, _ 
            LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious) 
            Set ColValue = .Cells.Find(What:="*", After:=Range("A1"), LookIn:=xlValues, _ 
            LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious) 
            Set RowFormula = .Cells.Find(What:="*", After:=Range("A1"), LookIn:=xlFormulas, _ 
            LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious) 
            Set RowValue = .Cells.Find(What:="*", After:=Range("A1"), LookIn:=xlValues, _ 
            LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious) 
            On Error GoTo 0 
             
             'Determine the last column
            If ColFormula Is Nothing Then 
                LastCol = 0 
            Else 
                LastCol = ColFormula.Column 
            End If 
            If Not ColValue Is Nothing Then 
                LastCol = Application.WorksheetFunction.Max(LastCol, ColValue.Column) 
            End If 
             
             'Determine the last row
            If RowFormula Is Nothing Then 
                LastRow = 0 
            Else 
                LastRow = RowFormula.Row 
            End If 
            If Not RowValue Is Nothing Then 
                LastRow = Application.WorksheetFunction.Max(LastRow, RowValue.Row) 
            End If 
             
             'Determine if any shapes are beyond the last row and last column
            For Each Shp In .Shapes 
                j = 0 
                k = 0 
                On Error Resume Next 
                j = Shp.TopLeftCell.Row 
                k = Shp.TopLeftCell.Column 
                On Error GoTo 0 
                If j > 0 And k > 0 Then 
                    Do Until .Cells(j, k).Top > Shp.Top + Shp.Height 
                        j = j + 1 
                    Loop 
                    If j > LastRow Then 
                        LastRow = j 
                    End If 
                    Do Until .Cells(j, k).Left > Shp.Left + Shp.Width 
                        k = k + 1 
                    Loop 
                    If k > LastCol Then 
                        LastCol = k 
                    End If 
                End If 
            Next 
             
            .Range(.Cells(1, LastCol + 1), .Cells(.Rows.Count, .Columns.Count)).EntireColumn.Delete 
            .Range("A" & LastRow + 1 & ":A" & .Rows.Count).EntireRow.Delete 
        End With 
    Next 
     
    Application.ScreenUpdating = True 
    Application.DisplayAlerts = True 
     
End Sub 

احفظ الملف بصيغة  xlsb  شوف حجمه ستجد أنه نزل للنصف تقريبا

  ثم افتح الملف وشغل الكود السابق ثم احفظ الملف واقفله  شوف حجم  الملف ستجد أنه  32 كيلو بايت

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

 

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

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

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

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

اخواني نظرا لاهمية الموضوع وقيمته االذهبية المهمة 

لدي سؤال هل نستطيع ان نجعل الملف حجمه صغير وهو فيه صور بدقة عالية في الورقة او في اليوزر فورم 

علما طبقت علئ الصور ميزة في اكسل اسمها (ضغط الصور) لتصغير الحجم 

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

فهل توجد طريقة لتقليل الحجم وتكون الصور في الظهور بنفس الدقة لاتتغير 

نرجو الرد حول الفكرة وعرض الاراء 

اخوكم انس دروبي 

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

إخواني وأحبابي في الله

الموضوع موضوع للبحث أي أنه على الجميع أن يقدم جميع الحلول الممكنة للتعامل مع الملف الذي زاد حجمه بشكل مبالغ فيه

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

 

ولي طلب بالنسبة لروابط الموضوعات الأخرى ..

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

 

الأخ الكريم أنس

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

 

بالنسبة للكود اللي كنت مخبيه هو نفس الكود اللي قدمه الاكسبريس المتميز مختار حسين

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

 

بالطبع هناك طرق أخرى .. ولذلك نحن بانتظار مساهماتكم

 

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

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

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

الشكر الجزيل لكل من شارك أو سيشارك للوصول إلى نتائج مرموقة..

كنت أظن أن للتنسيقات والتنسيقات الشرطية والمعادلات الكبيرة...معادلات الصفيف...سبب في كبر حجم ملفات اﻹكسل.

والسلام عليكم

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

  .Range(.Cells(1, LastCol + 1), .Cells(.Rows.Count, .Columns.Count)).EntireColumn.Delete 

أخى الكريم

الكود يقف عند هذا السطر

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

  .Range(.Cells(1, LastCol + 1), .Cells(.Rows.Count, .Columns.Count)).EntireColumn.Delete 

أخى الكريم

الكود يقف عند هذا السطر

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

السلام عليكم ورحمة الله الطرح رائع من اخي ياسر بارك الله فية

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

تقبلوا تحياتي

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

إخواني وأحبابي في الله

الموضوع موضوع للبحث أي أنه على الجميع أن يقدم جميع الحلول الممكنة للتعامل مع الملف الذي زاد حجمه بشكل مبالغ فيه

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

 

ولي طلب بالنسبة لروابط الموضوعات الأخرى ..

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

 

الأخ الكريم أنس

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

 

بالنسبة للكود اللي كنت مخبيه هو نفس الكود اللي قدمه الاكسبريس المتميز مختار حسين

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

 

بالطبع هناك طرق أخرى .. ولذلك نحن بانتظار مساهماتكم

 

استاذ ياسر خليل

برجاء الإفادة بأين يوضع الكود

وياريت لو ملف مطبق علية الكود

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

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

أخي الكريم أكرم

يتم نسخ الكود ووضعه داخل موديول جديد ثم تنفيذ الكود

عموماً إليك الملف المرفق فيه الكود بدون تنفيذ .. قبل التنفيذ شوف حجم المصنف (هتلاقي حوالي 5 ميجا)

لتنفيذ الكود اضغط Alt + F8 من لوحة المفاتيح وانقر على الكود المسمى ExcelDiet ثم الأمر Run لتنفيذ الكود

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

اعمل كليك يمين على المصنف بعد إغلاقه ثم Properties وشوف حجم الملف الجديد (هتلاقي حجم الملف نزل إلى 36 كيلو بايت تقريبا)

 

Last Price SALIM.rar

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

  • 1 month later...
  • 1 year later...

الاخوه لافاضل

مرفق شيت اكسيل

مساحته 11 ميجا

ممكن اعرف

حجمه هيكون كام بعد الكود

لاننى استخمت الكود

فضلت المساحه زى ما هيا

تقبلو تحياتى

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

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

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

Important Information