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

جعل قيمة خلية تساوي قيمة كومبوبوكس داخل فورم


moodyfy
إذهب إلى أفضل إجابة Solved by حسين مامون,

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

المشكلة الاولى

هى اريد جعل قيمة خلية  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

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

  • أفضل إجابة

بالنسبة للطلبي 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

 

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

استاذ حسين مامون مش عارف اشكر حضرتك ازاي ربنا يجزيك خير

الكود يعمل بشكل صحيح بارك الله فيك

لكن لي طلب عند حضرتك

كود text box1  اريد بعد كتابة رقم الحساب ووجود بيانات رقم الحساب مسبقا . عند حذف رقم الحساب ان يقوم بتفريغ البيانات التى تم استرجاعها من الاستعلام

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

اخيرا اتقدم بجزيل الشكر لحضرتك

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

في حدث تيكسبوكس1 change 

اكتب الحالة الشرطية

اولا

If textbox1="" then

وهنا اكتب التكستات التي تريد افراعها : مثلا

"" = textbox2

 وهكذا

وفي الاخير انهاء الشرط:

 End if

 

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

شكرا لحضرتك استاذى الكريم  تم تعديل الكود وتم العمل

هل به خطا

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

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

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

زائر
هذا الموضوع مغلق.
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

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

Important Information