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

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

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

السلام عليكم

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

وانا بحاجه لكود اضغه فى الصفحة الرئيسية واكتب رقم الصفحة او الشيت الخاص بالمود ليظهر امامى الصفحة الخاصة بالمورد

مثل ازرار البحث يعنى مربع لكتابه رقم المورد وزر للبحث فيظهر صفحة المورد

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

مثل الصورة 525118951.jpg

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

شكرا اخى العزيز لكن المطلوب هو كود بحث اى عندما اكتب رقم المورد فى خانه البحث يظهر لى الشيت الخاص بالمورد

قام بنشر

هذا شرح اخي للكود

ولو وضعت مثالا للعمل عليه لكان اسهل لك و للاخوة الاعضاء للادلاء بآرائهم

الشرح


Sub recherche()

'*************************************************************************************************************

' ان وجد خطأ ما ، فأكمل الكود الى آخره

On Error Resume Next

'*************************************************************************************************************


'*************************************************************************************************************

'هذه حلقة تكرار و ثمثل عدد الموردين انا استعملت 6 لان عدد الموردين = 6 في هذا المثال

For t = 1 To 6

'*************************************************************************************************************


'*************************************************************************************************************

' E9 اذا كانت القيمة المكتوبه الخلية

' E تساوي احدى القيم الموجودة في عمود الرقم في الصفحة الرئيسية و هو العمود

If Range("E9").Value = Cells(t + 1, 5).Value Then

'*************************************************************************************************************


'*************************************************************************************************************

' فإنه ان وجد هذه الخلية يحدد الخلية التي على يسارها مباشرة و التي تمثل اسم المورد و في نفس الوقت اسم الورقة

' ثم يقوم بالذهاب الى هذه الورقة

Sheets(Cells(t + 1, 5).Offset(0, -1).Text).Select

'*************************************************************************************************************


'*************************************************************************************************************

' أكمل حتي نهاية العدد 6

End if

Next

'*************************************************************************************************************

End Sub

قام بنشر

هذا شرح اخي للكود

ولو وضعت مثالا للعمل عليه لكان اسهل لك و للاخوة الاعضاء للادلاء بآرائهم

الشرح


Sub recherche()

'*************************************************************************************************************

' ان وجد خطأ ما ، فأكمل الكود الى آخره

On Error Resume Next

'*************************************************************************************************************


'*************************************************************************************************************

'هذه حلقة تكرار و ثمثل عدد الموردين انا استعملت 6 لان عدد الموردين = 6 في هذا المثال

For t = 1 To 6

'*************************************************************************************************************


'*************************************************************************************************************

' E9 اذا كانت القيمة المكتوبه الخلية

' E تساوي احدى القيم الموجودة في عمود الرقم في الصفحة الرئيسية و هو العمود

If Range("E9").Value = Cells(t + 1, 5).Value Then

'*************************************************************************************************************


'*************************************************************************************************************

' فإنه ان وجد هذه الخلية يحدد الخلية التي على يسارها مباشرة و التي تمثل اسم المورد و في نفس الوقت اسم الورقة

' ثم يقوم بالذهاب الى هذه الورقة

Sheets(Cells(t + 1, 5).Offset(0, -1).Text).Select

'*************************************************************************************************************


'*************************************************************************************************************

' أكمل حتي نهاية العدد 6

Next

'*************************************************************************************************************

End Sub

كيف ازيد عدد الموردين هذا كل ما اريد معرفته وشكرا لك

قام بنشر

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

مثلا لو كان اسم المورد هو محمد فيجب وجود صفحة اسمها محمد

و كود المورد يكون بجوار الاسم اي الاسم ثم كود المورد

في هذه الحالة ما يتغير في الكود هو هذا السطر :

For t = 1 To 6

تصبح بالشكل :

For t = 1 To 50

مع ملاحظة موقع الاسم في العمود D

و موقع كود المورد في العمود E

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

تحياتي

قام بنشر

هذا شرح اخي للكود

ولو وضعت مثالا للعمل عليه لكان اسهل لك و للاخوة الاعضاء للادلاء بآرائهم

الشرح


Sub recherche()

'*************************************************************************************************************

' ان وجد خطأ ما ، فأكمل الكود الى آخره

On Error Resume Next

'*************************************************************************************************************


'*************************************************************************************************************

'هذه حلقة تكرار و ثمثل عدد الموردين انا استعملت 6 لان عدد الموردين = 6 في هذا المثال

For t = 1 To 6

'*************************************************************************************************************


'*************************************************************************************************************

' E9 اذا كانت القيمة المكتوبه الخلية

' E تساوي احدى القيم الموجودة في عمود الرقم في الصفحة الرئيسية و هو العمود

If Range("E9").Value = Cells(t + 1, 5).Value Then

'*************************************************************************************************************


'*************************************************************************************************************

' فإنه ان وجد هذه الخلية يحدد الخلية التي على يسارها مباشرة و التي تمثل اسم المورد و في نفس الوقت اسم الورقة

' ثم يقوم بالذهاب الى هذه الورقة

Sheets(Cells(t + 1, 5).Offset(0, -1).Text).Select

'*************************************************************************************************************


'*************************************************************************************************************

' أكمل حتي نهاية العدد 6

End if

Next

'*************************************************************************************************************

End Sub

كود رائع و شرح أروع

قام بنشر

السلام عليكم مره اخرى اخى الكريم

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

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

وانشاء كود ولكن من دون ربط اسم الشيت باسم المورد بهذا الشكل بحث لو تغير اسم الشيت لا يتلف البحث

او ان يكون الشيت بنفس اسمه المضاف به

رصيد الموردين.rar

انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.

سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information