الخميس، 3 أكتوبر 2019

اكسل : البحث عن البيانات فى شيت الاكسل Excel VBA: Search Data form Excel Sheet

بسم الله الرحمن الرحيم 

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

درس جديد وشرح جديد من شروحات excel vba وكودج جديد من مكتبة اكواد الاكسل 

نتعلم اليوم كيفية البحث عن البيانات من خلال شيت الاكسل وليس من خلال الفورم

كيف ذلك 

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


ولتكن شاشة البحث كما بالشكل اعلاة 

كيف نكتب كود البحث الخاص بنا ندخل على تبويب المطور فيجوال بيسك ونعما ادراج لمدويول جديد
sub saerch data
فى البداية سوف نعرف متغيرين
المتغير الاول last row
dim lras long
dim count as integr
وبحدد قيمة المتغير الاول عندى
lr=sheet("item").cells(rows.count,1).end(xlup).row
احنا كدة حددنا قيمة المتغير last row علشان يجيب لنا اخر صف فية بيانات
وهنحدد قيمة المتغير count
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

وبهذا نكون قد انتهينا من الكود
لاتبخل علينا بمشاركة الدرس على وسائل التواصل الاجتماعى 

هناك تعليق واحد:

  1. 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
    ولحضرتك جزيل الشكر

    ردحذف

من نحن

authorمرحبا، أسمي عماد غازى وهذه مدونتي أسعى دائما لأقدم لكم أفضل المواضيع الخاصة بالاوفيس
المزيد عني →

التصنيفات

نموذج الاتصال

الاسم

بريد إلكتروني *

رسالة *

إجمالي مرات مشاهدة الصفحة