اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

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

قام بنشر

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

عندي ملف به بيانات كثيره جدا وحجمه كبير جدا جدا لدرجه انه بياخد وقت طويل اوى عند فتح الملف واريد تخفيف الحجم بتاعه حيث انه به اكثر من 50 الف خليه به دوال مختلفه

ارجو فتح الملف

المطلوب كود ينسخ ينفذ اي داله مكتوبه في الصف الاول مثلا  وينطبقه في باقي الصفوف علي حسب الرقم الموجود في الخليه  A1   تخفيف حجم الملف.rar

قام بنشر

استاذ ياسر تحيه طيبة لك ولكل اعضاء المنتدي

الموضوع ال انا عايزه غير هذا الموضوع انا اريد نسخ المعادلات التي توجد ف الصف الاول بعدد معين موجود في خليه

وهذا الموضوع الذي رايته غير ذلك

 

قام بنشر

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

الأخ أبوأحمد

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

لا أستطيع تحميل الملف لوجود مشكلة

الرجاء إعادة تحميل الملف

  • Like 1
قام بنشر (معدل)

الملف به كود في حدث الصفحة change

التعديل الذي حصل هو أننا حذفنا المعادلات وأبقينا على النتائج فقط لتقليل الحجم

مع الاحتفاظ بالمعادلات في السطر رقم 3

حاول تغير الرقم في الخلية رقم a1  ولاحظ النتيجة

تم تعديل بواسطه أبوعيد
قام بنشر

استاذي الفاضل طبيعي لو غيرت الرقم الموجود بالخليه يتم تغير البيانات لاني بوضوح عامل التسلسل يبدا من رقم 1 الي الرقم الموجود بالخليه يعني لو غيرنا رقم الخليه 3 مثلا تسلسل الارقام هايكون اخره 3

قام بنشر

طلبي هو كود لنسخ الدوال الموجوده بداخل كل عمود ويتم نسخها في عدد الصفوف الموجوده بالخليه A1  ومس اي دوال اخري لتخفيف الملف

قام بنشر

تسلم الايادي ياكبير بجد الله ينور عليك اه كدا ومعلش الملف ال ارسلته مؤخرا لم يصلني غير بعد الردود بس يوجد ملحوظة عند كتابة رقم ( 1 ) في الخليه a1

يتبقي عدد 2 صف بهم بيانات اريد يتبقي صف واحد فقط به بيانات ولك مني تحياتي

 

قام بنشر

تسلم ياغالي بس ظهر مشكله اخرى وهي عند كتابة 0 في الخليه A1 تم مسح كل المعادلات وكدا تم فقدان الدوال كلها

 

قام بنشر
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.CountLarge > 1 Then Exit Sub
    
    If Target.Address = "$A$1" Then
        Dim X, WS As Worksheet
        
        X = Target.Value
        Set WS = Sheets("البيانات")
        
        If X + 3 > WS.Cells(Rows.Count, "A").End(xlUp).Row Then MsgBox "لقد أدخلت رقم أكبر من البيانات المتاحة في ورقة البيانات", 64: Exit Sub
        
        If X = "" Or X = 0 Then
            If MsgBox("هل تريد مسح البيانات الموجودة؟", vbYesNo) = vbYes Then
                Range("A3:G1000").ClearContents: Application.Goto Target: Exit Sub
            Else
                Application.Goto Target: Exit Sub
            End If
        End If
        
        Application.ScreenUpdating = False
            Range("A3:G1000").ClearContents
            WS.Range("A4:G" & X + 3).Copy
            Range("A3").PasteSpecial xlPasteValues
            
            Application.Goto Target
            Application.CutCopyMode = False
        Application.ScreenUpdating = True
    End If
End Sub

بارك الله فيك أخي الحبيب أبو عيد

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

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

أليس من الممكن تحقيق الهدف بدون اللجوء إلى المعادلات

إليك الكود التالي يوضع في حدث ورقة العمل ..الكود قد يكون أطول من كود الأخ أبو عيد لأنني راعيت أن يراعي جميع الاحتمالات ..

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

عموماً إليك الكود التالي عله يفي بالغرض

 

 

  • Like 1
قام بنشر

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

قام بنشر

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

سأترك الأمر للأخ أبو عيد لتعديل كوده وإضافة المطلوب

تقبل تحياتي

  • Like 1
قام بنشر

جزاك الله خيرا اخي الفاضل استاذ ياسر خليل لك مني الف شكر وتقدير

سوف انتظر الاستاذ ابو عيد لحل هذه المشكله حيث ان خبرتي محدوده ولا اتمكن من تركيب الاكواد

ملحوظه استاذ ابو عيد واستاذ ياسر

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

قام بنشر
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim X

    If Target.Address = "$A$1" Then
        Application.ScreenUpdating = False
        Application.EnableEvents = False
        X = [A1].Value

        If X <= 0 Or X = 1 Or Not IsNumeric(X) Then GoTo Skipper1
        
        Range("A3:G3").AutoFill Destination:=Range("A3:G" & X + 2), Type:=xlFillDefault
        Range("A4:G" & X + 2) = Range("A4:G" & X + 2).Value
        Range("A" & X + 3).Resize(70000, 7) = ""
        Application.Goto Target
    End If
    
    GoTo Skipper2
Skipper1:
    Range("A" & 4).Resize(70000, 7) = ""
    Application.Goto Target
    
Skipper2:
    Application.EnableEvents = True
    Application.ScreenUpdating = True
End Sub

أخي الحبيب أبو عيد

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

جرب الكود بهذا الشكل عله يفي بالغرض

 

Copy Formula In Row 3 Based On The Value In A1 Officena.rar

  • Like 3
قام بنشر

عمل ممتاز أخي ياسر بارك الله فيك

ولكن أبوأحمد طلب أن يكون حساب البيانات في الخلية A1 تلقائيا عن طريق المعادلة

بمعنى يتم التغيير في صفحة الينانات يدويا ثم يتم التغيير في ورقة2 بناء على ذلك

بالتالي وضعته في حدث التنشيط للصفحة

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

  • Like 2
قام بنشر

شكرا بجد للاستاذ ابو عيد وشكر للاستاذ ياسر

بجد الاكواد ممتاذه ولكن يوجد مشكله حصلت

وهي انا لدي في الشيت الاصلي

ورقة 2 مثلا يوجد بها صفحات اكثر من 4 صفحات بين كل صفحه وصفحه يوجد بيانات التوقيع وخلافه عدد 3 اسطر  عند استخدام الكود بيتم جلب البيانات من اول صف ال اخر صف في بيانات الورقة  ولا يترك مكان للتوقيع بين الصفحات

المطلوب كل نسخ عدد 29 صف يتم ترك 3 صفوف للتوقيع ويبدا نسخ الدوال بعد 3 صفوف فهل هذا ممكن

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

 

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.

×
×
  • اضف...

Important Information