إجمالي مرات مشاهدة الصفحة

الجمعة، 22 أبريل 2016

الترحيل من خلايا متفرقة باستخدام مصفوفة Transfer From Non-Adjacent Cells Using Array

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

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

بفرض أن لديك ورقة عمل Sheet1 بهذا الشكل
والمطلوب ترحيل الخلايا الملونة باللون الأصفر من ورقة العمل Sheet1 إلى ورقة العمل Sheet2 بالترتيب التالي 
(التاريخ - رقم الإيصال - اسم العميل - رقم التليفون - الإجمالي)
سنقوم بإنشاء مصفوفة باسم Arr لتحمل القيم لهذه الخلايا بالترتيب D7 (خلية التاريخ) ، ثم C5 (خلية رقم الإيصال) ، ثم B6 (خلية اسم العميل) ، ثم B7 (خلية رقم التليفون) ، ثم E15 (خلية الإجمالي)
ثم ببساطة يتم وضع قيم المصفوفة في ورقة العمل Sheet2 أي تتم عملية الترحيل وذلك بالاعتماد على عدد قيم المصفوفة ، وتتم عملية الترحيل لأول صف فارغ في العمود الثاني.
يمكنك تطويع الكود بما يتناسب مع ملفك وهيكلة البيانات لديك.

وأخيراً إليكم الكود المستخدم في عملية الترحيل باستخدام المصفوفة

Sub TransferUsingArray()
    Dim Arr
    
    With Sheet1
        Arr = Array(.Range("D7"), .Range("C5"), .Range("B6"), .Range("B7"), .Range("E15"))
    End With
    
    With Sheet2
        .Range("B" & .Cells(Rows.Count, "B").End(xlUp).Row + 1).Resize(1, UBound(Arr) + 1).Value = Arr
    End With
    
    MsgBox "Done...", 64
End Sub

إعداد / ياسر خليل أبو البراء

هناك 7 تعليقات:

  1. وعليكم السلام ورحمة الله وبركاته ،،،
    ابدااااع ، جداً رائع ،،
    هل من الممكن فضلاً .. اضافة طريقة التعامل بفرض ان ( b5 ) قد تكون صنف 1 او صنف 2 او صنف 3.. اياً كان يعني متغيرة .)
    و يوجد عدة sheet تحمل اسماء الاصناف و عند التصدير يتم التصدير إلى sheet الصنف الذي يساوي b5

    ردحذف
  2. يمكن وضع قيمة الخلية في متغير نصي ، وإسناد المتغير النصي لكلمة Sheets والإشارة إلى ورقة العمل المطلوبة

    ردحذف
    الردود
    1. ياسيدي الف شكر لك .

      حذف
    2. اخي الفاضل استعملت الكود بالطريقة التالية:
      Arr = Array(.Range("E3"), .Range("A6:F6"), .Range("B8"), .Range("B10:B13"), .Range("E10:E11"), .Range("B16"))
      فهل هناك خطأ بهذه الجزئية
      لان الكود لا يعمل المطلوب ويرحل بعض الخلايا فقط

      حذف
  3. أزال المؤلف هذا التعليق.

    ردحذف
  4. السلام عليكم و رحمة الله و بركاته
    سيدى الفاضل عندى مجموعة ملفات بها بيانات و أريد ترحيل جزء من البيانات داخل الشيت إلى ملف أخر مسمى بأسماء العملاء أو الموردين كيف يتم ذلك ووضعهم فى خلايا معينىة

    ردحذف
  5. سيدى الفاضل بعمل ملف به بيانات و تواريخ اريد مقارنة التواريخ مع بعض و اخذ بيانات التاريخ الاخير هل ممكن المساعدة

    ردحذف