ابو حمادة قام بنشر يناير 21, 2017 قام بنشر يناير 21, 2017 السلام عليكم ورحمة الله تعالي وبركاته ......... الاخوة الافاضل اساتذتي الكرام يوجد كود استدعاء بيانات من الشيت الى اليوزر فورم ولكن بيتم الاستدعاء برقم المسلسل اريد ان يكون الاستدعاء بالاسم وليس رقم المسلسل وعند تعديله للاسم بيحصل خطأ ارجو معرفة السبب الكود موجود اسفل الصورة ولكم منى تحياتى Private Sub ComboBox1_Change() Dim LR As Long Set ws = ThisWorkbook.Sheets("ورقة1") LR = Sheets("ورقة1").Cells(Cells.Rows.Count, "A").End(xlUp).Row Me.TextBox1.Value = Application.WorksheetFunction.VLookup(Val(ComboBox1.Value), ws.Range("a5:z" & LR), 2, 0) Me.TextBox2.Value = Application.WorksheetFunction.VLookup(Val(ComboBox1.Value), ws.Range("a5:z" & LR), 3, 0) Me.TextBox3.Value = Application.WorksheetFunction.VLookup(Val(ComboBox1.Value), ws.Range("a5:z" & LR), 4, 0) Me.TextBox4.Value = Application.WorksheetFunction.VLookup(Val(ComboBox1.Value), ws.Range("a5:z" & LR), 5, 0) End Sub مرفق ملف توضيحي اكثر ......... ولكم منى جزيل الشكر
ابو حمادة قام بنشر يناير 21, 2017 الكاتب قام بنشر يناير 21, 2017 8 دقائق مضت, طائع said: ارفق الملف بدلا من الصورة دا ملف امنى يكون هناك حل كل المكلوب استخدام عمود الاسم للبحث بدلا من رقم المسلسل يعني عند اختيار الاسم يم جلب البيانات بتعه لليوزر فورم استخدام vlookup مع الفورم.rar
طائع قام بنشر يناير 21, 2017 قام بنشر يناير 21, 2017 انظر ماذا ترى هل فعل المطلوب ام لا اخبرنى استخدام vlookup مع الفورم 111.rar 1
ابو حمادة قام بنشر يناير 21, 2017 الكاتب قام بنشر يناير 21, 2017 15 دقائق مضت, طائع said: انظر ماذا ترى هل فعل المطلوب ام لا اخبرنى استخدام vlookup مع الفورم 111.rar شكرا جدا لاهتمام حضرتك استاذي الفاضل بس معلش يعني الملف ال انت بعته حل كويس وشغال عادي بس انا واضع كود داخل اليوزر فورم لتصفيه الاسماء بحيث مايكونش فيه اسم مكرر لو مضاف لاكثر من مره وايضا رك الفراغات في الكمبوبكس انظر على هذا الملف وانت تعلم ما اقصه علما ان هذه الطريقه فيها خطأ استخدام vlookup مع الفورم.rar
طائع قام بنشر يناير 21, 2017 قام بنشر يناير 21, 2017 اخى اليك المطلوب اذا فهمت بطريقة اخرى واضف انت عليه عدم التكرار عمل المطلوب بطريقة اخرى.rar 1
ابو حمادة قام بنشر يناير 21, 2017 الكاتب قام بنشر يناير 21, 2017 5 دقائق مضت, طائع said: اخى اليك المطلوب اذا فهمت بطريقة اخرى واضف انت عليه عدم التكرار عمل المطلوب بطريقة اخرى.rar ياباشا دا تقريبا ملف ملوش اي علاقه بطلبي انا مش فاهم انا عايز البيانات علي اليوزر فورم حضرتك بعتلى ملف مش فيه يوزر فورم اصلا
ابو حمادة قام بنشر يناير 21, 2017 الكاتب قام بنشر يناير 21, 2017 5 دقائق مضت, طائع said: انا اسف جدا ياباشا بدون اى اسف انا ال بعتذر لو كان طلبي صعب شويه وتاعب حضرتك معايا
الشهابي قام بنشر يناير 22, 2017 قام بنشر يناير 22, 2017 (معدل) أخي العزيز / أبو حمادة سبب الخطأ أنك استخدمت دالة ( ) وهي تعتمد في البحث بالرقم جرب استبدال الكود السابق بهذا الكود إن شاء الله يكون مطلوبك Private Sub ComboBox1_Change() Dim LR As Long Set ws = ThisWorkbook.Sheets("ورقة1") LR = ws.Cells(Cells.Rows.Count, "B").End(xlUp).Row For Each CL In ws.Range("b5:b" & LR) If ComboBox1 = CL.Text Then Me.TextBox1 = CL.Offset(0, 1).Value Me.TextBox2 = CL.Offset(0, 2).Value Me.TextBox3 = CL.Offset(0, 3).Value Me.TextBox4 = CL.Offset(0, 4).Value End If Next CL End Sub ولا بد أن أيضا من تغير مدى النطاق المسمى ( بيانات ) ليأخذ بياناته من العمود (B) ولو كان مدى دناميكي أفضل بهذا الشكل =OFFSET(ورقة1!$B$5;;;COUNTA(ورقة1!$B$5:$B$1000)) تقبل تحياتي تم تعديل يناير 22, 2017 بواسطه الشهابي 2
ابو حمادة قام بنشر يناير 22, 2017 الكاتب قام بنشر يناير 22, 2017 بجد الله ينور ياباشا زادك الله علما الشهابي الف شكر ليك ولكل من ساهم في مساعدى طائع وجزاكم كل خيرا 1
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.