بسم الله الرحمن الرحيم
اهلا بكم متابعى موقع ومدونة عالم الاوفيس
درس جديد وشرح جديد من شروحات excel vba وكودج جديد من مكتبة اكواد الاكسل
نتعلم اليوم كيفية البحث عن البيانات من خلال شيت الاكسل وليس من خلال الفورمكيف ذلك
مثال بسيط لدينا قاعدة بيانات لمجموعة من الاصناف ونريد عمل بحث عليها بالكودولتكن شاشة البحث كما بالشكل اعلاة
كيف نكتب كود البحث الخاص بنا ندخل على تبويب المطور فيجوال بيسك ونعما ادراج لمدويول جديد
saerch data
فى البداية سوف نعرف متغيرين
المتغير الاول last row
lras long
count as integr
وبحدد قيمة المتغير الاول عندى
lr=sheet("item").cells(rows.count,1).end(xlup).row
احنا كدة حددنا قيمة المتغير last row علشان يجيب لنا اخر صف فية بيانات
وهنحدد قيمة المتغير count
الكود كامل
sub saerch data
dim lras long
dim count as integr
lr=sheet("item").cells(rows.count,1).end(xlup).row
count=0
وبعد
كدة هنعمل حلقة تكرارية for
For x = 2 To
Dim lr As Long
Dim count As
Integer
Dim x
lr =
Sheets("item").Cells(Rows.count, 1).End(xlUp).Row
count = 0
For x = 2 To lr
If
Sheets("item").Cells(x, 1) = Sheet1.Range("b3") Then
Sheet1.Range("a11")
= Sheets("item").Cells(x, 1)
Sheet1.Range("b11")
= Sheets("item").Cells(x, 2)
Sheet1.Range("c11")
= Sheets("item").Cells(x, 3)
count = count +
1
End If
Next x
If count = 0
Then
MsgBox "تنبية", vbOKOnly, "عفوا
هذا الكود غير موجود"
Sheet1.Range("a11:c11").ClearContents
End If
وبهذا نكون قد انتهينا من الكود
لاتبخل علينا بمشاركة الدرس على وسائل التواصل الاجتماعى
Private Sub TextBox6_Change()
ردحذفSheets(1).Activate
Range("A2").End(xlDown).Select
TextBox9.Value = ActiveCell.Value
CommandButton7.Enabled = True
CommandButton3.Enabled = False
CommandButton10.Enabled = False
TextBox1.Value = ""
TextBox2.Value = ""
TextBox3.Value = ""
TextBox4.Value = ""
TextBox5.Value = ""
TextBox7.Value = ""
TextBox8.Value = ""
lr = WorksheetFunction.CountIf(Range("A2:U3000"), Val(TextBox6.Value))
If TextBox6.Value <> "" Then
TextBox1.Value = WorksheetFunction.VLookup(Val(TextBox6.Value), Range("A2:U3000"), 2, 0)
TextBox2.Value = WorksheetFunction.VLookup(Val(TextBox6.Value), Range("A2:U3000"), 3, 0)
TextBox3.Value = WorksheetFunction.VLookup(Val(TextBox6.Value), Range("A2:U3000"), 4, 0)
TextBox4.Value = WorksheetFunction.VLookup(Val(TextBox6.Value), Range("A2:U3000"), 5, 0)
TextBox5.Value = WorksheetFunction.VLookup(Val(TextBox6.Value), Range("A2:U3000"), 6, 0)
TextBox7.Value = WorksheetFunction.VLookup(Val(TextBox6.Value), Range("A2:U3000"), 19, 0)
TextBox8.Value = WorksheetFunction.VLookup(Val(TextBox6.Value), Range("A2:U3000"), 20, 0)
TextBox40.Value = WorksheetFunction.VLookup(Val(TextBox6.Value), Range("A2:U3000"), 21, 0)
End If
CommandButton3.Enabled = False
CommandButton7.Enabled = True
CommandButton10.Enabled = True
End Sub
لو سمحت يا أستاذ عماد
ده كود شغال تمام
لكن أنا أضفت مربع نص يجيب رقم آخر عميل
عايز أضيف كود يقول للمستخدم لو كتب رقم أكبر من كود آخر عميل يعطيه رسالة وما يدخلش على سطر الدالة vlookup
ولحضرتك جزيل الشكر