moodyfy قام بنشر ديسمبر 30, 2020 قام بنشر ديسمبر 30, 2020 المشكلة الاولى هى اريد جعل قيمة خلية j8 فى ورقة 2 تساوى قيمة كومبوبوكس داخل يوزر فورم 7. بحيث عند تغيير عناصر قائمة الكومبو بوكس تتغير مباشرة قيمة الخلية داخل الشيت المشكلة الثانية قمت بانشاء فورم 1 فى برنامج الاكسل يقوم واضافة وترحيل البيانات الى ملف الشيت ورقة 1 ويقوم text box1 ( رقم الحساب ) بعمل استعلام داخل الشيت للبحث في العمود الخاص برقم الحساب لمعرفة رقم الحساب المراد اضافتة موجود مسبقا ام لا في شيت العمل المشكلة هي صيغة رقم الحساب . فمثلا ارقام الحساب التى اعمل عليها تكون بصورة 10/20/100/0 لا يقوم بجلب البيانات من الشيت مع العلم بان رقم الحساب موجود فعلا مع العلم ان الكود يعمل اذا كان رقم الحساب ( عدد صحيح) متل 10000 الكود المستخدم Private Sub TextBox1_Change() lr = WorksheetFunction.CountIf(Range("c2:c10000"), Val(TextBox1.Value)) If TextBox1.Value <> "" And lr = 1 Then TextBox2.Value = WorksheetFunction.VLookup(Val(TextBox1.Value), Range("c2:q10000"), 2, 0) TextBox3.Value = WorksheetFunction.VLookup(Val(TextBox1.Value), Range("c2:q10000"), 3, 0) TextBox4.Value = WorksheetFunction.VLookup(Val(TextBox1.Value), Range("c2:q10000"), 4, 0) ComboBox1.Value = WorksheetFunction.VLookup(Val(TextBox1.Value), Range("c2:q10000"), 5, 0) Else TextBox2.Value = "" TextBox3.Value = "" TextBox4.Value = "" ComboBox1.Value = "" End If End Sub ارجو المساعدة ولكم جزيل الشكر للعلم اسم المستخدم 550 كلمة المرور 123 25399582_ver4.xlsm
أفضل إجابة حسين مامون قام بنشر ديسمبر 31, 2020 أفضل إجابة قام بنشر ديسمبر 31, 2020 بالنسبة للطلبي 2 جرب الكود التالي ضعه في Textbox1 فورم1 ادخل رقم الحساب وانقر زر انتر على لوحة المفاتيح Private Sub TextBox1_AfterUpdate() Dim ws As Worksheet: Set ws = Sheets("ورقة1") Dim lr, x lr = ws.Cells(Rows.Count, 3).End(3).Row For x = 2 To lr If TextBox1.Text = ws.Cells(x, 3).Text Then TextBox2.Value = ws.Cells(x, 4).Value TextBox3.Value = ws.Cells(x, 5).Value TextBox4.Value = ws.Cells(x, 6).Value ComboBox1.Value = ws.Cells(x, 7).Value Exit For End If Next x End Sub وهذا في Combobox1 Private Sub ComboBox1_Change() Sheets("ورقة2").Range("j8").Value = Me.ComboBox1.Value End Sub 1
moodyfy قام بنشر ديسمبر 31, 2020 الكاتب قام بنشر ديسمبر 31, 2020 استاذ حسين مامون مش عارف اشكر حضرتك ازاي ربنا يجزيك خير الكود يعمل بشكل صحيح بارك الله فيك لكن لي طلب عند حضرتك كود text box1 اريد بعد كتابة رقم الحساب ووجود بيانات رقم الحساب مسبقا . عند حذف رقم الحساب ان يقوم بتفريغ البيانات التى تم استرجاعها من الاستعلام وهل يوجد كود يقوم باخفاء شيت العمل بدلنا من اخفاء الاكسل كاملا اخيرا اتقدم بجزيل الشكر لحضرتك 1
حسين مامون قام بنشر ديسمبر 31, 2020 قام بنشر ديسمبر 31, 2020 في حدث تيكسبوكس1 change اكتب الحالة الشرطية اولا If textbox1="" then وهنا اكتب التكستات التي تريد افراعها : مثلا "" = textbox2 وهكذا وفي الاخير انهاء الشرط: End if 1
moodyfy قام بنشر ديسمبر 31, 2020 الكاتب قام بنشر ديسمبر 31, 2020 شكرا لحضرتك استاذى الكريم تم تعديل الكود وتم العمل هل به خطا Private Sub TextBox1_Change() Dim ws As Worksheet: Set ws = Sheets("æÑÞÉ1") Dim lr, x lr = ws.Cells(Rows.Count, 3).End(3).Row For x = 2 To lr If TextBox1.Text = ws.Cells(x, 3).Text Then TextBox2.Value = ws.Cells(x, 4).Value TextBox3.Value = ws.Cells(x, 5).Value TextBox4.Value = ws.Cells(x, 6).Value ComboBox1.Value = ws.Cells(x, 7).Value Exit For End If Next x If TextBox1 = "" Then TextBox2.Value = "" TextBox3.Value = "" TextBox4.Value = "" ComboBox1.Value = "" End If End Sub جزاكم الله كل خير 1
moodyfy قام بنشر يناير 1, 2021 الكاتب قام بنشر يناير 1, 2021 الاستاذ حسين مامون كل الشكر والتقدير لحضرتك امنياتى لحضرتك بالتوفيق والنجاح 1
الردود الموصى بها