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

استدعاء بيانات من جدولين الى جدول


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

أشكرك استاذى الفاضل/ طلعت محمد حسن

على مجهودك وسرعة الرد ... ولكن لم تفهم قصدى

حيث أنه تم العمل على (اسم المؤسسة) وليس (اسم المشرف)

والدالة أعطت خطأ    #NAME?

تم تعديل على الجدول1 والجدول2 ليتضح المطلوب..

المرفق.rar

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

السلام عليكم

أشكرك استاذى الفاضل/ طلعت محمد حسن 

على مجهودك الرائع وفقكم ورعاكم وسدد على طريق الحق خطاكم

نعم استاذى... هذا هو المطلوب تمام

ـ ولكن أخى العزيز عند التغير فى (جدول1) أو (جدول2) بعطى المطوب (?NAME#) قى كل الجدول

ـ واريد أن تعلمنى كيفية استخراج الأسماء من الجدولين بدون تكرار

لأن هذا جزء من عملى وأعمل عليه يومياً ... علمنى كل شى عن هذا العمل الرائع .

حفظكم الله ورعكم 

وأسأل الله العلي القدير أن يجعله الله فى ميزان حسناتك.

 

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

السلام عليكم

أشكرك استاذى الفاضل/ أبو عبد النور

على هذا الكود الأكثر من رائع وفقكم ورعاكم وسدد على طريق الحق خطاكم

استاذى الفاضل/ أبو عبد النور

اريد منك شرح هذا الكود... لتعم الفائدة... أكون شاكر لحضرتك

وأسأل الله العلي القدير أن يجعله الله فى ميزان حسناتك.

 

ولى طلب من أستاذى الفاضل/ طلعت محمد حسن

أن يتم هذا العمل عن طريق الدوال بدون هذا الخطأ  (?NAME#) عند التعديل

 

أستاذى الفاضل/ طلعت محمد حسن شكراً لحضرتك.

أستاذى الفاضل/ أبو عبد النور شكراً لحضرتك.

وأسأل الله العلي القدير أن يجعله فى ميزان حسناتكم.

وأشكر كل القائمين على هذا المنتدى الرائع.

شكرا للجميع

حفظكم الله ورعاكم.

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

السلام عليكم،

 

- نقوم اولا بحصر نطاق الجدول 1 في متغير الجدول a وبحصر نطاق الجدول 2 في متغير الجدول b

- d1 هو عبارة عن "قاموس" فائدته انه لا يقبل ادخال العناصر اليه الا لمرة واحدة وغير مكررة وهنا هو لتخزين الاسم كمفتاح و الترتيب p كقيمة للمفتاح

- نقوم بمسح الجدول a وتخزين كل خانة لما يناسبها في متغير الجدول c بالاعتماد على عدم تكرار الاسم بواسطة القاموس d1

- نفعل بالمثل مع متغير الجدول b.

- غي الاخير نعيد طبع محتويات الجدول c على ورقة "المطلوب"

أرجو ان اكون قد افدتك ولو قليلاً

 

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

السلام عليكم

أشكرك استاذى الفاضل/ أبو عبد النور

أستاذي استفدت منك الكثير 

شكراً على الشرح السهل

وشكراً على العمل الأكثر من رائع

أسأل الله أن يجعل هذا العمل في ميزان حسناتك

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

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

تكرار.JPG

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

 
 

السلام عليكم

استاذى الفاضل/ أبو عبد النور

لى استفسار بعد اذنك

Worksheet____4

Worksheet____7

Worksheet____8

هل هذا تسمية لأوراق العمل أم ماذا

لأننى أردت نسخ الكود لملف أخر ولم يعمل

شكراً استاذى الفاضل

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

5 ساعات مضت, طلعت محمد حسن said:

الشكر لله اخي الكريم واي امر تحتاجة لا تتردد في طرحة

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

تسلم استاذى بارك الله فيك

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

5 ساعات مضت, عبد القادر محمد مهدى said:
 
 

السلام عليكم

استاذى الفاضل/ أبو عبد النور

لى استفسار بعد اذنك فى الكود

Worksheet____4

Worksheet____7

Worksheet____8

هل هذا تسمية لأوراق العمل أم ماذا

لأننى أردت نسخ الكود لملف أخر ولم يعمل

شكراً استاذى الفاضل

المرفق

دمج جدولين.rar

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

Worksheet____4

هي تسمية للكائن "ورقة العمل"

و "ورقة1" هو عنوان الكائن.

للعلم تم تغيير  Worksheet____4  من Sheets1 الافتراضي.

 

والله اعلم.

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

  • 3 months later...

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

الأخوة الكرام هل ممكن موافاتي بشرح كود الماكرو , للملف المذكور بالموضوع

حتى أتمكن من استخدامه .

مرفق الملف .

ولكم مني كل الشكر .

وهذا الكود ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, :

 

 

Sub fusion()
    Set d1 = CreateObject("Scripting.Dictionary")
    Set f1 = Worksheet____4
    a = f1.Range("C3:E" & f1.[c65000].End(xlUp).Row)
    Set f2 = Worksheet____7
    b = f2.Range("C3:E" & f2.[c65000].End(xlUp).Row)
    n = UBound(a) + UBound(b)
    Dim c: ReDim c(1 To n, 1 To 5)
    m = 0
    For i = LBound(a) To UBound(a)
        If Not d1.exists(a(i, 1)) Then m = m + 1: d1(a(i, 1)) = m: p = m Else p = d1(a(i, 1))
        c(p, 1) = a(i, 1): c(p, 2) = a(i, 2): c(p, 3) = a(i, 3)
    Next i
    For i = LBound(b) To UBound(b)
        If Not d1.exists(b(i, 1)) Then m = m + 1: d1(b(i, 1)) = m: p = m Else p = d1(b(i, 1))
        c(p, 1) = b(i, 1): c(p, 4) = b(i, 2): c(p, 5) = b(i, 3)
    Next i
    Worksheet____8.[C4].Resize(d1.Count, UBound(c, 2)) = c
End Sub
 

دمج جدولين.rar

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

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