أكاديمية الصقر للتدريب

لوحة التميز الأسبوعي
العضو المتميز المشرف المتميز المراقب المتميز المدير المتميز الموضوع المتميز القسم المتميز
العضو المتميز المشرف المتميز المراقب المتميز المدير المتميز الموضوع المتميز القسم المتميز
هانى على ali mohamed ali-- لا تميز خلال هذه الفترة لا تميز خلال هذه الفترة منع ادخال البيانات بعدة شروط اكسيل اسئله واجابات


أهلا وسهلا بك زائرنا الكريم في أكاديمية الصقر للتدريب، لكي تتمكن من المشاركة ومشاهدة جميع أقسام المنتدى وكافة الميزات ، يجب عليك إنشاء حساب جديد بالتسجيل بالضغط هنا أو تسجيل الدخول اضغط هنا إذا كنت عضواً .





البحث بأول حرف

السلام عليكم ورحمة الله البحث عن اسم من خلال قائمة طويلة من الاسماء باستخدام يوزر فورم مكون من تكست بوكس وليست بوكس اليك ..



27-08-2017 12:53 صباحا
ابراهيم الحداد
خبير
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 26-08-2017
رقم العضوية : 163
المشاركات : 236
الجنس : ذكر
الدعوات : 4
يتابعهم : 0
يتابعونه : 33
قوة السمعة : 2329
عدد الإجابات: 30
 offline 

السلام عليكم ورحمة الله
البحث عن اسم من خلال قائمة طويلة من الاسماء
باستخدام يوزر فورم مكون من تكست بوكس وليست بوكس
اليكم الملف
اتمنى ان يعجبكم

 
 
 
  بحث بحرف.rar   تحميل rar مرات التحميل :(118)
الحجم :(28.584) KB


27-08-2017 07:21 صباحا
مشاهدة مشاركة منفردة [1]
YasserKhalil
مراقب عام
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10444
الجنس : ذكر
تاريخ الميلاد : 1-10-1978
الدعوات : 24
يتابعهم : 1
يتابعونه : 535
قوة السمعة : 36522
عدد الإجابات: 254
 offline 
look/images/icons/i1.gif البحث بأول حرف
وعليكم السلام أخي الحبيب زيزو 
بارك الله فيك وجزاك الله خير الجزاء على هذا الموضوع المميز والرائع

لي تعقيب بسيط طالما نويت استخدام المصفوفات فحاول نسيان التعامل مع ورقة العمل .. لاحظت في كودك الرائع أنك قمت بعمل حلقة تكرارية لخلايا العمود الثاني (وهذا يمكن استبداله بتخزين النطاق في مصفوفة والحلقات التكرارية تكون لعناصر المصفوفة وليس الخلايا .. سيكون هذا أسرع بالتأكيد)
أمر آخر قمت بعمل مصفوفة فرعية تحمل قيمة واحدة ثم تعبئة الليست بوكس بهذه القيمة .. وأنا أرى أنه من الأفضل نسيان الليست بوكس إلى أن يتم تعبئة المصفوفة الفرعية (مصفوفة النتائج) ثم في نهاية المطاف توضع النتائج مرة واحدة في الليس بوكس
جرب الكود التالي ..
Private Sub TextBox1_Change()
    Dim a       As Variant
    Dim b()     As Variant
    Dim i       As Long
    Dim j       As Long

    ListBox1.Clear
    a = Sheet1.Range("B2:B" & Sheet1.Range("B" & Rows.Count).End(xlUp).Row).Value
    
    For i = LBound(a, 1) To UBound(a, 1)
        If TextBox1.Value = Left(a(i, 1), Len(TextBox1.Value)) Then
            j = j + 1
            ReDim Preserve b(1 To j)
            b(j) = a(i, 1)
        End If
    Next i
    
    On Error Resume Next
        ListBox1.List = b
    On Error GoTo 0
End Sub

27-08-2017 09:41 صباحا
مشاهدة مشاركة منفردة [2]
ابراهيم الحداد
خبير
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 26-08-2017
رقم العضوية : 163
المشاركات : 236
الجنس : ذكر
الدعوات : 4
يتابعهم : 0
يتابعونه : 33
قوة السمعة : 2329
عدد الإجابات: 30
 offline 
look/images/icons/i1.gif البحث بأول حرف
السلام عليكم ورحمة الله
بارك الله فيك اخى ياسر
دائما اقتراحاتك عظيمة
شكرا على المتابعة

27-08-2017 10:12 صباحا
مشاهدة مشاركة منفردة [3]
YasserKhalil
مراقب عام
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10444
الجنس : ذكر
تاريخ الميلاد : 1-10-1978
الدعوات : 24
يتابعهم : 1
يتابعونه : 535
قوة السمعة : 36522
عدد الإجابات: 254
 offline 
look/images/icons/i1.gif البحث بأول حرف
وعليكم السلام أخي الغالي زيزو العجوز
مشكور على تقبلك الاقتراح . وصدقني كلنا نتعلم من بعضنا البعض فأنا تعلمت الكثير والكثير منك
فجزاك الله خير الجزاء

27-08-2017 10:28 صباحا
مشاهدة مشاركة منفردة [4]
ناصر سعيد
عضو فعال
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 9
المشاركات : 245
الجنس : ذكر
تاريخ الميلاد : 1-1-1985
الدعوات : 2
يتابعهم : 0
يتابعونه : 3
قوة السمعة : 587
 offline 
look/images/icons/i1.gif البحث بأول حرف
Private Sub CommandButton1_Click()
Unload Me
End Sub
Private Sub ListBox1_Click()
TextBox1.Value = ListBox1.Value
End Sub
Private Sub TextBox1_Change()
    Dim a       As Variant
    Dim b()     As Variant
    Dim i       As Long
    Dim j       As Long

    ListBox1.Clear
    a = Sheet1.Range("B2:B" & Sheet1.Range("B" & Rows.Count).End(xlUp).Row).Value
    
    For i = LBound(a, 1) To UBound(a, 1)
        If TextBox1.Value = Left(a(i, 1), Len(TextBox1.Value)) Then
            j = j + 1
            ReDim Preserve b(1 To j)
            b(j) = a(i, 1)
        End If
    Next i
    
    On Error Resume Next
        ListBox1.List = b
    On Error GoTo 0
End Sub

Private Sub UserForm_Activate()
TextBox1.SetFocus
End Sub

Private Sub UserForm_Click()

End Sub
'====

هذا هو الكود في صورته النهائيه مع دكج جزئيه استاذ ياسر خليل
ولكن ... انا اكتب الحرف ياتي الاسم .. اريد عند الضغط عليه يوصلني للاسم المطلوب في الصفحه
توقيع :ناصر سعيد
جزاكم الله خيرا


27-08-2017 10:50 صباحا
مشاهدة مشاركة منفردة [5]
YasserKhalil
مراقب عام
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10444
الجنس : ذكر
تاريخ الميلاد : 1-10-1978
الدعوات : 24
يتابعهم : 1
يتابعونه : 535
قوة السمعة : 36522
عدد الإجابات: 254
 offline 
look/images/icons/i1.gif البحث بأول حرف
أخي العزيز ناصر
يمكن الاعتماد على دالة Match بهذا الشكل لمعرفة رقم الصف الذي يوجد به الاسم
هذا مثال للتوضيح .. حاول استخدامه بنفسك في الكود
Sub Test()
    Dim ws As Worksheet
    Dim r As Variant
    
    Set ws = Sheets("اسم ورقة العمل المطلوب العمل عليها")
    
    'هنا يتم البحث عن قيمة التكست بوكس في العمود الثاني
    r = Application.Match(TextBox1.Value, ws.Columns(2), 0)
    
    'في حالة كانت النتيجة رقمية يعني أنه تم العثور على اسم الشخص المطلوب
    If IsNumeric(r) Then
    
        'في هذه الحالة يتم تحديد الخلية في العمود الثاني في الصف الذي تم العثور عليه
        ws.Cells(r, 2).Select
    End If
End Sub

27-08-2017 01:02 مساء
مشاهدة مشاركة منفردة [6]
ناصر سعيد
عضو فعال
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 9
المشاركات : 245
الجنس : ذكر
تاريخ الميلاد : 1-1-1985
الدعوات : 2
يتابعهم : 0
يتابعونه : 3
قوة السمعة : 587
 offline 
look/images/icons/i1.gif البحث بأول حرف
جزاك الله خيرا استاذ ياسر العربي
هل اضع الكود الاخير في فورمه البحث وفي اي مكان ؟
توقيع :ناصر سعيد
جزاكم الله خيرا





الكلمات الدلالية
لا يوجد كلمات دلالية ..


 










اخلاء مسئولية: يخلى منتدى أكاديمية الصقر للتدريب مسئوليته عن اى مواضيع او مشاركات تندرج داخل الموقع ويحثكم على التواصل معنا ان كانت هناك اى إنتهاكات تتضمن اى انتهاك لحقوق الملكية الفكرية او الادبية لاى جهة - بالتواصل معنا من خلال نموذج مراسلة الإدارة .وسيتم اتخاذ الاجراءات اللازمة.
سياسة النشر: التعليقات المنشورة لا تعبر عن رأي منتدى أكاديمية الصقر للتدريب ولا نتحمل أي مسؤولية قانونية حيال ذلك ويتحمل كاتبها مسؤولية النشر.

الساعة الآن 04:34 مساء