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

معادلة جلب البيانات من عدة صفحات بناءاً على اسم الصفحة


إذهب إلى أفضل إجابة Solved by سليم حاصبيا,

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

السلام عليكم اساتذتى الأحباء 

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

فقد قمت بعمل معادلة Sumif ,ولكنى اريد معادلة أخرى حيث ان الصفحات سوف تتعدى 30 صفحة ومن الصعب القيام بهذا يدويا مع هذه المعادلة لأنى سأضطر للدخول لكل صفحة على حده لعمل هذه المعادلة فربما يكون هناك أخطاء عند اختيار صفحة خطأ مثلا

فعلى كل صفحة حرف العمود الذى سوف يتم جلب البيانات منه من الصفحة المعنية

ولكم جزيل الشكر

كما ياريت احد الأساتذة يساعدنى في حل هذا التنسيق الذى يظهر بالصورة المرفوعة فهو بدوره يقوم بعمل بطء وثقل كبير في الملف عند العمل عليه

 

 

Untitled.png

Total.xlsx

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

  • أفضل إجابة

جرب هذا الماكرو

تم التعديل على  الملف قليلاً لتصغير حجمه

Option Explicit
Sub Get_data()
If ActiveSheet.Name <> "Total" Then Exit Sub

Dim last_row%
Dim k%, r
Dim mY_sh As Worksheet
last_row = Sheets("Total").Cells(Rows.Count, 2).End(3).Row
Sheets("Total").Range("c3", Range("c4").End(4)).Resize(, 3).ClearContents
Dim i%: i = 3
Dim x$
Dim col%
Do Until Sheets("Total").Range("b" & i) = vbNullString
 For k = 3 To 5
  x = Sheets("Total").Cells(2, k)
    Set mY_sh = Sheets(x)
     r = mY_sh.Range("b:b").Find(Sheets("Total").Range("b" & i)).Row

Select Case x
    Case "Excursion": col = 8
    Case "Shopping": col = 4
    Case "Bonus": col = 3
 End Select
      Sheets("Total").Cells(i, k) = mY_sh.Cells(r, col)
      Next

i = i + 1
Loop
Sheets("Total").Range("c3", Range("c4") _
.End(4)).Resize(, 4).NumberFormat = "0.00"
End Sub

الملف مرفق

 

Total Salim.xlsm

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

ابداع أستاذ سليم كود رائع وهو المطلوب بالفعل جزاك الله كل خير وغفر الله لك ووسع الله في رزقك

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

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

هل هناك حل بالمعادلات يقوم بنفس النتيجة ,كما اننى اتأسف واعتذر لحضرتك على تعبك معى -هل هناك حل لإزالة التنسيقات التي تظهر بالصورة

جزاك الله كل خير وبارك الله فيك

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

اذا زاد عدد الصفحات تقوم بالتعديل في هذا القسم من الكود مع مراعاة ان تأخذ  الــ  K  عدداً جديداً من 3 الى

3 + عدد الصفحات -1

في مثلنا عدد الصفحات (بدون الــ Total ) يساوي 3  ====> عدد الصفحات -1=2 ====> 

3 + عدد الصفحات -1=5           ====>    (اخذنا الــ K  من 3 الى 5)

Select Case x
    Case "Excursion": col = 8
    Case "Shopping": col = 4
    Case "Bonus": col = 3
 End Select

 

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

بارك الله فيك استاذى الكريم وجزاك الله كل خير-واكثر الله من أمثالك وزادك الله من فضله ووسع الله في رزقك

وشكرا لك استاذى الكريم على استجابتك ولكنى

هذا ما أقصده استاذ سليم وليس حذف البوتن التى فى الملف
ولكن حذف هذا الشكل المتداخل فى الملف فلم اضعه  وبشأنه يثقل الملف ويجعله يتوقف

 وذلك كما بالصورة

 

2.png

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

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

جزاك الله كل خير واعتذر واتأسف دائما لإزعاج حضرتك

فمن شيم الرجال العطاء دائما -بارك الله فيك ووسع الله في رزقك واكرمك الله كما اكرمتنى وفرج عنك كربات يوم القيامة كما فرجت علينا كرب الدنيا

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

كود ممتاز استاذ سليم

بعد اذن حضرتك ولإثراء الموضوع هناك حل أخر بالمعادلات

فى العمود C يمكنك استخدام هذه المعادلة مع التغيير المطلوب فى كل معادلة

 

=SUMPRODUCT(SUMIF(INDIRECT("'"&C$2&"'!"&"B2:B1000"),$B3,INDIRECT("'"&C$2&"'!"&"H2:H1000")))

 

Total.xlsm

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

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