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

مساعدة في تصحيح كود البحث عن طريق لست بوكس


إذهب إلى أفضل إجابة Solved by إبراهيم ابوليله,

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

السلام عليكم ورمضان كريم وصيام مقبول ان شاء الله

 

اساتذتي الاعزاء انا عملت فورم بحث عن طريق لست بوكس كما هو واضح من خلال الملف المرسل لكم والمشكلة عندما تظهر نتائج البحث لايظهر معه باقي السطر فمثلاً عندما يظهر الاسم لايظهر معه العنوان والمهنة. ارجوا المساعدة والكم جزيل الشكر.........

مساعدة.rar

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

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

هل تقصد هكذا اخى

تقبل تحياتى

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

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

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

-----------------------------

اخى الكريم

...........

الخطأ الاول كما هو موضح فى الصوره المرفقه

........................................................

الخطأ الثانى كان فى كتابة الكود

فقد كان الكود مكتوب بالشكل الاتى

فى حدث التيكسنت بوكس

ListBox1.AddItem Q.Value
ListBox1.List(V, 1) = Q.Offset(0, 1).Value
ListBox1.List(B, 2) = Q.Offset(0, 2).Value
ListBox1.List(B, 3) = Q.Offset(0, 3).Value
ListBox1.List(B, 4) = Q.Offset(0, 4).Value

اما الكود الصحيح

فيكون بالشكل الاتى

ListBox1.AddItem Q.Value
ListBox1.List(V, 0) = Q.Offset(0, 2).Value
ListBox1.List(B, 1) = Q.Offset(0, 1).Value
ListBox1.List(B, 2) = Q.Offset(0, 0).Value
ListBox1.List(B, 3) = Q.Offset(0, -1).Value

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

 

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

-----------------------------

اخى الكريم

...........

الخطأ الاول كما هو موضح فى الصوره المرفقه

........................................................

الخطأ الثانى كان فى كتابة الكود

فقد كان الكود مكتوب بالشكل الاتى

فى حدث التيكسنت بوكس

ListBox1.AddItem Q.Value
ListBox1.List(V, 1) = Q.Offset(0, 1).Value
ListBox1.List(B, 2) = Q.Offset(0, 2).Value
ListBox1.List(B, 3) = Q.Offset(0, 3).Value
ListBox1.List(B, 4) = Q.Offset(0, 4).Value

اما الكود الصحيح

فيكون بالشكل الاتى

ListBox1.AddItem Q.Value
ListBox1.List(V, 0) = Q.Offset(0, 2).Value
ListBox1.List(B, 1) = Q.Offset(0, 1).Value
ListBox1.List(B, 2) = Q.Offset(0, 0).Value
ListBox1.List(B, 3) = Q.Offset(0, -1).Value

استاذي الله يبارك فيك ولاعرف كيف اشكرك ,استاذ العزيز ايضا هناك مشكلة في الكود تبعك حيث انه يكرر الاسم مرتين ولايظهر العنوان. اخي الغالي لم اجد الصورة المرفقة, تقبل تحياتي وسلامي

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

اخى اليك الصوره

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

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

اخى

هل تقصد هكذا

 

 نعم استاذي الغالي وبارك الله فيك واتمنى من الله ان يجعل ذلك في ميزان حسناتك .تحياتي

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

اخى

عاشق الاسلام

اشكرك على هذه الدعوات الطيبه

كل عام وانت بخير

تقبل تحياتى

 

وكل عام وانتم بالف خير وتقبل الله اعمالكم.

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

اخى

بارك الله فيك

اذا كنت توصلت الى ما تريده

فقط قم باختيار افضل اجابه

حتى لا يصبح الموضوع ماذال مفتوحا

تقبل تحياتى

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

 

 

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

-----------------------------

اخى الكريم

...........

الخطأ الاول كما هو موضح فى الصوره المرفقه

........................................................

الخطأ الثانى كان فى كتابة الكود

فقد كان الكود مكتوب بالشكل الاتى

فى حدث التيكسنت بوكس

ListBox1.AddItem Q.Value
ListBox1.List(V, 1) = Q.Offset(0, 1).Value
ListBox1.List(B, 2) = Q.Offset(0, 2).Value
ListBox1.List(B, 3) = Q.Offset(0, 3).Value
ListBox1.List(B, 4) = Q.Offset(0, 4).Value

اما الكود الصحيح

فيكون بالشكل الاتى

ListBox1.AddItem Q.Value
ListBox1.List(V, 0) = Q.Offset(0, 2).Value
ListBox1.List(B, 1) = Q.Offset(0, 1).Value
ListBox1.List(B, 2) = Q.Offset(0, 0).Value
ListBox1.List(B, 3) = Q.Offset(0, -1).Value

استاذي الله يبارك فيك ولاعرف كيف اشكرك ,استاذ العزيز ايضا هناك مشكلة في الكود تبعك حيث انه يكرر الاسم مرتين ولايظهر العنوان. اخي الغالي لم اجد الصورة المرفقة, تقبل تحياتي وسلامي

 

استاذي ابراهيم الله يحفظك ممكن تشرح لي هذا الكود لان حاولت اضيف عمود جديد في الشيت والمشكلة لايظهر في نتائج البحث

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

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

اخى عاشق الاسلام

---------------------------------------

Set Q = .Range("B2:B" & LastRow).Find(M)

هذا السطر هو السطر الخاص بالبحث

اى ان البحث سوف يكون بداية من الخليه b2 حتى اخر خليه بها بيانات فى نفس العمود وهو العمود b اى العمود الثانى

ListBox1.List(V,0)

هذا السطر هو السطر الخاص بتحديد اعمده الليست بوكس

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

ولو قمنا بتغير الرقم الى 1  اصبحنا نشير الى العمود الثانى فى الليست بوكس

وهكذا

Q.Offset(0, 2).Value

Q كما قلنا سابقا هو عباره عن عمود البحث وهو العمود الثانى بداية من الخلية B2

 

Offset(0, 2).Value

بمعنى ان الناتج سوف يكون بعد الخليه فى عمود البحث اى بعد الخليه

B بمقدار (الصفر يشير الى عدد السطور) اى ان هنا الناتج سوف يكون عباره عن نفس السطر التى به الخليه B

الرقم 2 يعن ان الناتج سوف يكون بعد العمود B بمقدار عمودين اى فى العمود D

وهكذا

لذلك اذا اردت زياده عمود فى الليست

افعل الاتى

1-زياده عدد الاعمده من 4 الى 5

كما تم التوضيح من قبل فى الصوره المرفقه فى المشاركه رقم 6

2- قم بزيده الاعمده فى الكود

 فلو ان اخر عمود فى الكود عباره عن

   

ListBox1.List(V,3)

يصبح شكبل الككود

ListBox1.List(V,4)

3- تغير الناتج

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

    فلو انه العمود مثلا F

   يصبح شكل الكود كالاتى

Offset(0,4).Value

اى ان الاستخراج سوف يتم بعد العمود B ب باربعه اعمده الى هما C,D,E,F

وبذلك يصبح شكل الكود النهائى

ListBox1.AddItem Q.Value
ListBox1.List(V, 0) = Q.Offset(0, 2).Value
ListBox1.List(V, 1) = Q.Offset(0, 1).Value
ListBox1.List(V, 2) = Q.Offset(0, 0).Value
ListBox1.List(V, 3) = Q.Offset(0, -1).Value
ListBox1.List(V, 4) = Q.Offset(0, 4).Value

V = V + 1

ارجو ان اكون وفقت فى الشرح

فهذا الشرح على قدر فهمى

تقبل تحياتى

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

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

اخى عاشق الاسلام

---------------------------------------

Set Q = .Range("B2:B" & LastRow).Find(M)

هذا السطر هو السطر الخاص بالبحث

اى ان البحث سوف يكون بداية من الخليه b2 حتى اخر خليه بها بيانات فى نفس العمود وهو العمود b اى العمود الثانى

ListBox1.List(V,0)

هذا السطر هو السطر الخاص بتحديد اعمده الليست بوكس

وبالاخص كل سطر على حده

فرقم  صفر هنا يشير الى العمود الاول فى الليست بوكس

ولو قمنا بتغير الرقم الى 1  اصبحنا نشير الى العمود الثانى فى الليست بوكس

وهكذا

Q.Offset(0, 2).Value

Q كما قلنا سابقا هو عباره عن عمود البحث وهو العمود الثانى بداية من الخلية B2

 

Offset(0, 2).Value

بمعنى ان الناتج سوف يكون بعد الخليه فى عمود البحث اى بعد الخليه

B بمقدار (الصفر يشير الى عدد السطور) اى ان هنا الناتج سوف يكون عباره عن نفس السطر التى به الخليه B

الرقم 2 يعن ان الناتج سوف يكون بعد العمود B بمقدار عمودين اى فى العمود D

وهكذا

لذلك اذا اردت زياده عمود فى الليست

افعل الاتى

1-زياده عدد الاعمده من 4 الى 5

كما تم التوضيح من قبل فى الصوره المرفقه فى المشاركه رقم 6

2- قم بزيده الاعمده فى الكود

 فلو ان اخر عمود فى الكود عباره عن

   

ListBox1.List(V,3)

يصبح شكبل الككود

ListBox1.List(V,4)

3- تغير الناتج

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

    فلو انه العمود مثلا F

   يصبح شكل الكود كالاتى

Offset(0,4).Value

اى ان الاستخراج سوف يتم بعد العمود B ب باربعه اعمده الى هما C,D,E,F

وبذلك يصبح شكل الكود النهائى

ListBox1.AddItem Q.Value
ListBox1.List(V, 0) = Q.Offset(0, 2).Value
ListBox1.List(V, 1) = Q.Offset(0, 1).Value
ListBox1.List(V, 2) = Q.Offset(0, 0).Value
ListBox1.List(V, 3) = Q.Offset(0, -1).Value
ListBox1.List(V, 4) = Q.Offset(0, 4).Value

V = V + 1

ارجو ان اكون وفقت فى الشرح

فهذا الشرح على قدر فهمى

تقبل تحياتى

السلام عليكم كم انت رائع يا استاذي ابراهيم ابوليله وكان شرحك في غاية الروعة .استاذي انا طبقت كلامك ولكن ظهرت لي مشكلة كما هو واضح في الملف المرفق وهي ان الحقل الجديد في الست بوكس يظهرمن جهة اليمين وانا احتاجة من جهة اليسار حقل(الموبايل) كما هو موجود في الشيت, تقبل تحياتي

ملف.rar

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

بعد إذن الأستاذ الكبير // ابراهيم ابو ليله

 

أخى الكريم / الاستاذ / عاشق الاسلام

قم بتغيير جزء معين من الكود الى الآتى

ListBox1.List(V, 0) = Q.Offset(0, 3).Value
ListBox1.List(V, 1) = Q.Offset(0, 2).Value
ListBox1.List(V, 2) = Q.Offset(0, 1).Value
ListBox1.List(V, 3) = Q.Offset(0, 0).Value
ListBox1.List(V, 4) = Q.Offset(0, -1).Value

وتقبل منى وافر الاحترام والتقدير

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

 

بعد إذن الأستاذ الكبير // ابراهيم ابو ليله

 

أخى الكريم / الاستاذ / عاشق الاسلام

قم بتغيير جزء معين من الكود الى الآتى

ListBox1.List(V, 0) = Q.Offset(0, 3).Value
ListBox1.List(V, 1) = Q.Offset(0, 2).Value
ListBox1.List(V, 2) = Q.Offset(0, 1).Value
ListBox1.List(V, 3) = Q.Offset(0, 0).Value
ListBox1.List(V, 4) = Q.Offset(0, -1).Value

وتقبل منى وافر الاحترام والتقدير

 

شكرا يااستاذنا الغالي محمود - الشريف وبارك الله فيك وجعلها الله سبحانه وتعالى  في ميزان حسناتك , تقبل تحياتي

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

 

بعد إذن الأستاذ الكبير // ابراهيم ابو ليله

 

أخى الكريم / الاستاذ / عاشق الاسلام

قم بتغيير جزء معين من الكود الى الآتى

ListBox1.List(V, 0) = Q.Offset(0, 3).Value
ListBox1.List(V, 1) = Q.Offset(0, 2).Value
ListBox1.List(V, 2) = Q.Offset(0, 1).Value
ListBox1.List(V, 3) = Q.Offset(0, 0).Value
ListBox1.List(V, 4) = Q.Offset(0, -1).Value

وتقبل منى وافر الاحترام والتقدير

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

اخى محمود

انت لا تحتاج الى اذن للمشاركه

انما هى كلها لوجه الله

تقبل الله منا ومنك صالح الاعمال

كل عام وانت بخير

تقبل تحياتى

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

 

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

اخى عاشق الاسلام

---------------------------------------

Set Q = .Range("B2:B" & LastRow).Find(M)

هذا السطر هو السطر الخاص بالبحث

اى ان البحث سوف يكون بداية من الخليه b2 حتى اخر خليه بها بيانات فى نفس العمود وهو العمود b اى العمود الثانى

ListBox1.List(V,0)

هذا السطر هو السطر الخاص بتحديد اعمده الليست بوكس

وبالاخص كل سطر على حده

فرقم  صفر هنا يشير الى العمود الاول فى الليست بوكس

ولو قمنا بتغير الرقم الى 1  اصبحنا نشير الى العمود الثانى فى الليست بوكس

وهكذا

Q.Offset(0, 2).Value

Q كما قلنا سابقا هو عباره عن عمود البحث وهو العمود الثانى بداية من الخلية B2

 

Offset(0, 2).Value

بمعنى ان الناتج سوف يكون بعد الخليه فى عمود البحث اى بعد الخليه

B بمقدار (الصفر يشير الى عدد السطور) اى ان هنا الناتج سوف يكون عباره عن نفس السطر التى به الخليه B

الرقم 2 يعن ان الناتج سوف يكون بعد العمود B بمقدار عمودين اى فى العمود D

وهكذا

لذلك اذا اردت زياده عمود فى الليست

افعل الاتى

1-زياده عدد الاعمده من 4 الى 5

كما تم التوضيح من قبل فى الصوره المرفقه فى المشاركه رقم 6

2- قم بزيده الاعمده فى الكود

 فلو ان اخر عمود فى الكود عباره عن

   

ListBox1.List(V,3)

يصبح شكبل الككود

ListBox1.List(V,4)

3- تغير الناتج

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

    فلو انه العمود مثلا F

   يصبح شكل الكود كالاتى

Offset(0,4).Value

اى ان الاستخراج سوف يتم بعد العمود B ب باربعه اعمده الى هما C,D,E,F

وبذلك يصبح شكل الكود النهائى

ListBox1.AddItem Q.Value
ListBox1.List(V, 0) = Q.Offset(0, 2).Value
ListBox1.List(V, 1) = Q.Offset(0, 1).Value
ListBox1.List(V, 2) = Q.Offset(0, 0).Value
ListBox1.List(V, 3) = Q.Offset(0, -1).Value
ListBox1.List(V, 4) = Q.Offset(0, 4).Value

V = V + 1

ارجو ان اكون وفقت فى الشرح

فهذا الشرح على قدر فهمى

تقبل تحياتى

السلام عليكم كم انت رائع يا استاذي ابراهيم ابوليله وكان شرحك في غاية الروعة .استاذي انا طبقت كلامك ولكن ظهرت لي مشكلة كما هو واضح في الملف المرفق وهي ان الحقل الجديد في الست بوكس يظهرمن جهة اليمين وانا احتاجة من جهة اليسار حقل(الموبايل) كما هو موجود في الشيت, تقبل تحياتي

 

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

اخى عاشق الاسلام

---------------------------------------

اشكرك على هذه الكلمات

واتمنى لك الاستفاده

كل عام وانت بخير

تقبل تحياتى

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

أخى فى الله

الأستاذ الكبير // ابراهيم ابو ليله

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

تقبل منى وافر الاحترام والتقدير

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

أخى فى الله

الأستاذ الكريم // عاشق الإسلام

بارك الله فيكم وزادكم الله من فضله

وتقبل منى وافر الاحترام والتقدير

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

شكـــــــــــــــــــــــــــــــــــــرأ علـــــــــــــــــــــــــــــــــــى مروركـــــــــــــــــــــــم الجميـــــــــــــــــــــل والرائــــــــــــــــــــــــــــــع

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

 

أخى فى الله

الأستاذ الكريم // عاشق الإسلام

بارك الله فيكم وزادكم الله من فضله

وتقبل منى وافر الاحترام والتقدير

 

السلام عليكم استاذي واخي العزيز محمود - الشريف  شكرا على مرورك الجميل والكلمات الرائعة .

ممكن المساعد في اظهار عدد النتائج البحث  في الفورم .

واضافة زر من اخلاله استطيع من اختيار نوع البحث مثلا البحث عن طريق الاسم اوالتسلسل او القسم.

تقبل تحياتي

ملف.rar

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

اخى فى الله

كل عام وأنتم والأسرة الكريمة والأمه الإسلامية بخير

اليكم الملف بالمرفقات

وتقبل منى وافر الاحترام والتقدير

ملف_1.rar

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

 

اخى فى الله

كل عام وأنتم والأسرة الكريمة والأمه الإسلامية بخير

اليكم الملف بالمرفقات

وتقبل منى وافر الاحترام والتقدير

يااستاذي واخي كل عام وانتم بألف خير وعلى الاسرة الكريمة وعلى امي الحنونة مصر( أم الدنيا) وان يحفظكم من كل سوء واشكرك من اعماق قلبي على مساعدتك الجميلة وجعلها الله سبحانه وتعالى في ميزان حسناتك ولكن حاولت ان اصمم نفس الفورم ولكن لم استطيع لكوني مبتدأ في التصميم لان لم افهم الكود وطريقة عملة وكذلك لم اعرف طريقة الكتابة في ComboFind لذلك شعرت بالاخجل بالاحباط  الكبير ,استاذي الغالي ممكن فقط تضع خاصية عدد النتائج على الفورم القديم المرسل لكي اتعلم الطريقة.  واتمنى مازعجتك في طلبي وتقبل مني وافر الاحترام والتقدير.

 

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

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