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

محتاج كود بحث وانتقال بين مجموعه من الشيتات


flash012

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

السلام عليكم

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

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

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

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

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

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

السلام عليكم

ممكن هذا

افتراضا دي 5

الخلية المكتوب فيها اسم المورد


Sub GO_TO11()

Dim sh As Worksheet

  For Each sh In ThisWorkbook.Worksheets

    If sh.Name = CStr(Range("d5")) Then

        sh.Activate

    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

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

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

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