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

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

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

السلام عليكم

طلب مني عمل : وهي معرفة هل الكودات المراد بحثها موجودة في شيت الرئيسية (عندي قائمة رئيسية تحتوي على بيانات ، وعندي قائمة فرعية تحتوي على كودات ، المطلوب ترحيل الكود الموجود في شيت الفرعية الى شيت الكودات الموجودة ، علماً بان البيانات في شيت الرئيسية تحتوي على 55000 صف وشيت الفرعية تحتوي على 115 الف صف ) وارفق ملف توضيح بهذا الخصوص ، العمل المطلوب مستعجل ، وفقكم اختصروا عليه هذا العمل من خلال العلم الذي لديكم ، وفقكم الله وزادتكم علما

 

السلام عليكم

كودات.rar

تم تعديل بواسطه ابو نبأ
  • أفضل إجابة
قام بنشر

أخي الفاضل أبو نبأ

إليك الكود التالي عله يكون المطلوب .. حاولت الابتعاد عن استخدام الحلقات التكرارية حتى يعمل الكود بكفاءة مع البيانات الكثيرة

اعتمدت في التفكير على استخدام الفلترة ... أي كل رقم كود أقوم بفلترته ثم نسخ البيانات المرتبطة بعملية الفلترة إلى آخر ورقة عمل

أرجو أن يكون المطلوب

Sub TransferDataBasedOnCode()
    Dim wsMain As Worksheet, wsBranch As Worksheet, SH As Worksheet
    Dim rngData As Range, Rng As Range, Cell As Range, LR As Long
    
    Set wsMain = Sheets("الرئيسية"): Set wsBranch = Sheets("الفرعية"): Set SH = Sheets("الكود الموجود")
    LR = IIf(wsBranch.Cells(Rows.Count, 1).End(xlUp).Row = 1, 2, wsBranch.Cells(Rows.Count, 1).End(xlUp).Row)
    Set Rng = wsBranch.Range("A2:A" & LR)
    Set rngData = wsMain.Range("A1:K" & wsMain.Cells(Rows.Count, 1).End(xlUp).Row)
    
    Application.ScreenUpdating = False
        If Application.WorksheetFunction.CountA(Rng) < 1 Then MsgBox "لا يوجد أرقام كود لترحيلها", vbInformation: Exit Sub
        For Each Cell In Rng
            With wsMain
                .AutoFilterMode = False
                .Range("A1:K1").AutoFilter Field:=2, Criteria1:=Cell.Value
                If rngData.Columns(1).SpecialCells(xlCellTypeVisible).Count = 1 Then GoTo Skipper
                rngData.Offset(1, 0).SpecialCells(xlCellTypeVisible).Copy
                SH.Range("A" & SH.Cells(Rows.Count, 1).End(xlUp).Row + 1).PasteSpecial xlPasteValues
            End With
Skipper: Next Cell
        wsMain.AutoFilterMode = False
        SH.Range("A1").Select
    Application.CutCopyMode = False
    Application.ScreenUpdating = True
End Sub

لا تنسى أن تحدد أفضل إجابة ولو فيها تعب ليك اضغط على "أعجبني هذا" إذا أعجبك الحل

تقبل تحياتي :fff: :fff:

Transfer Data Based On Code.rar

  • Like 4
قام بنشر

السلام عليكم

جزيت خيرا - شكرا على سرعة المرور - وفقكم الله

 

العمل الممتاز يستهال مو بس افضل اجابة او اعجاب بل الدعاء له بالتوفيق والتيسير وزيادة في العلم والعمل

 

وفقكم الله

  • Like 2
قام بنشر

وعليكم السلام أخي الكريم أبو نبأ

الحمد لله أن تم المطلوب على خير

ومشكور على اختيارك أفضل إجابة والضغط على "أعجبني"

تقبل وافر تقديري واحترامي

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

أي والله تستهال - انجزت العمل المطلوب بسرعة وسلمته

انته صاحب فضل - جزيت خيرا  وفقك الله

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

أخي الكريم

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

فاللهم لك الحمد ربي ملء السماوات وملء الأرض وملء ما بينهما وملء ما شئت من شيء بعد

 

تقبل وافر تقديري واحترامي

  • Like 1

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