logo

لوحة التميز الأسبوعي
العضو المتميز المشرف المتميز المراقب المتميز المدير المتميز الموضوع المتميز القسم المتميز
العضو المتميز المشرف المتميز المراقب المتميز المدير المتميز الموضوع المتميز القسم المتميز
abdelmoniem ismail لا تميز خلال هذه الفترة-- لا تميز خلال هذه الفترة لا تميز خلال هذه الفترة توزيع المعلمين في جدول الحصص حسب النصاب بشروط اكسيل مشاريع جاهزه



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





27-08-2017 12:53 صباحاً
السلام عليكم ورحمة الله
البحث عن اسم من خلال قائمة طويلة من الاسماء
باستخدام يوزر فورم مكون من تكست بوكس وليست بوكس
اليكم الملف
اتمنى ان يعجبكم
 
 
  بحث بحرف.rar   تحميل rar مرات التحميل :(118)
الحجم :(28.584) KB





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

لي تعقيب بسيط طالما نويت استخدام المصفوفات فحاول نسيان التعامل مع ورقة العمل .. لاحظت في كودك الرائع أنك قمت بعمل حلقة تكرارية لخلايا العمود الثاني (وهذا يمكن استبداله بتخزين النطاق في مصفوفة والحلقات التكرارية تكون لعناصر المصفوفة وليس الخلايا .. سيكون هذا أسرع بالتأكيد)
أمر آخر قمت بعمل مصفوفة فرعية تحمل قيمة واحدة ثم تعبئة الليست بوكس بهذه القيمة .. وأنا أرى أنه من الأفضل نسيان الليست بوكس إلى أن يتم تعبئة المصفوفة الفرعية (مصفوفة النتائج) ثم في نهاية المطاف توضع النتائج مرة واحدة في الليس بوكس
جرب الكود التالي ..
CODE
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




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




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




look/images/icons/i1.gif البحث بأول حرف
  27-08-2017 10:28 صباحاً   [4]
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 9
المشاركات : 246
الجنس :
تاريخ الميلاد : 1-1-1985
الدعوات : 2
قوة السمعة : 641
الاعجاب : 10
CODE
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
'====


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



توقيع :الاستاذ محمدي عبدالسميع
جزاكم الله خيرا

look/images/icons/i1.gif البحث بأول حرف
  27-08-2017 10:50 صباحاً   [5]
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10529
الجنس :
تاريخ الميلاد : 1-10-1978
الدعوات : 24
قوة السمعة : 36752
الاعجاب : 184
أخي العزيز ناصر
يمكن الاعتماد على دالة Match بهذا الشكل لمعرفة رقم الصف الذي يوجد به الاسم
هذا مثال للتوضيح .. حاول استخدامه بنفسك في الكود
CODE
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




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



توقيع :الاستاذ محمدي عبدالسميع
جزاكم الله خيرا

look/images/icons/i1.gif البحث بأول حرف
  27-08-2017 01:23 مساءً   [7]
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10529
الجنس :
تاريخ الميلاد : 1-10-1978
الدعوات : 24
قوة السمعة : 36752
الاعجاب : 184
لما لاقيت اسم ياسر العربي قلت أشوف مشاركة العربي .. بدور مش لاقي .. يمكن يكون العربي عاملها إخفاء بطاقية الإخفاء :)

أخي العزيز ناصر نعم سيوضع الكود في حدث الفورم وفي ListBox1_Click >> حيث عند النقر على الليست بوكس يتم تحديث قيمة التكست بوكس بقيمة (الاسم)
بعد السطر الأول يمكنك استخدام الأسطر المذكورة في المشاركة السابقة .. أنا وضعت تعليقات لتسهيل وفهم الأسطر وماذا تفعل؟ .. حاول تدرس الأكواد بشكل مكثف لتستفيد منها في أكواد أخرى ... فعالم الأكواد عالم مترابط وربما كود ينفعك في أكواد أخرى وهذا أمر مسلم به




look/images/icons/i1.gif البحث بأول حرف
  27-08-2017 02:47 مساءً   [8]
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 9
المشاركات : 246
الجنس :
تاريخ الميلاد : 1-1-1985
الدعوات : 2
قوة السمعة : 641
الاعجاب : 10
المشاركة الأصلية كتبت بواسطة: YasserKhalil لما لاقيت اسم ياسر العربي قلت أشوف مشاركة العربي .. بدور مش لاقي .. يمكن يكون العربي عاملها إخفاء بطاقية الإخفاء :)
معذره .. تمت كتابتها سهوا



توقيع :الاستاذ محمدي عبدالسميع
جزاكم الله خيرا

look/images/icons/i1.gif البحث بأول حرف
  27-08-2017 02:53 مساءً   [9]
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10529
الجنس :
تاريخ الميلاد : 1-10-1978
الدعوات : 24
قوة السمعة : 36752
الاعجاب : 184
لا أقصد معاتبتك أخي العزيز ناصر
أنا أمازح ياسر العربي لكي يشارك في الموضوع :)




look/images/icons/i1.gif البحث بأول حرف
  27-08-2017 08:24 مساءً   [10]
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 9
المشاركات : 246
الجنس :
تاريخ الميلاد : 1-1-1985
الدعوات : 2
قوة السمعة : 641
الاعجاب : 10
CODE
Private Sub CommandButton1_Click()
Unload Me
End Sub
Private Sub ListBox1_Click()
Sub Test()
    Dim ws As Worksheet
    Dim r As Variant
    
    Set ws = Sheets("sheet1")
    
    'هنا يتم البحث عن قيمة التكست بوكس في العمود الثاني
    r = Application.Match(TextBox1.Value, ws.Columns(2), 0)
    
    'في حالة كانت النتيجة رقمية يعني أنه تم العثور على اسم الشخص المطلوب
    If IsNumeric(r) Then
    
        'في هذه الحالة يتم تحديد الخلية في العمود الثاني في الصف الذي تم العثور عليه
        ws.Cells(r, 2).Select
    End If
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
'====


من فضلك استاذ ياسر شوف ليه لم يشتغل ؟



توقيع :الاستاذ محمدي عبدالسميع
جزاكم الله خيرا

look/images/icons/i1.gif البحث بأول حرف
  27-08-2017 09:25 مساءً   [11]
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10529
الجنس :
تاريخ الميلاد : 1-10-1978
الدعوات : 24
قوة السمعة : 36752
الاعجاب : 184
تفضل أخي العزيز ناصر
حمل المرفق من أول مشاركة ثم قم بحذف الأكواد الموجودة في الفورم وضع هذه الأكواد مكانها ولعل هذا يفي بالغرض إن شاء الله
أعتذر للأخ زيزو عن التدخل في الموضوع بهذا الشكل (حيث يفضل ألا توجد طلبات فرعية وأن يطرح موضوع مستقل لأي مشكلة أو جزئية)
CODE
Option Explicit

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 CommandButton1_Click()
    Unload Me
End Sub

Private Sub ListBox1_Click()
    Dim ws      As Worksheet
    Dim r       As Variant

    TextBox1.Value = ListBox1.Value
    Set ws = Sheets("DATA")

    r = Application.Match(TextBox1.Value, ws.Columns(2), 0)
    If IsNumeric(r) Then
        ws.Cells(r, 2).Select
    End If
End Sub




look/images/icons/i1.gif البحث بأول حرف
  27-08-2017 10:29 مساءً   [12]
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 9
المشاركات : 246
الجنس :
تاريخ الميلاد : 1-1-1985
الدعوات : 2
قوة السمعة : 641
الاعجاب : 10
اهم اسئله تهم المستخدم العادي هو
اذا كان عمود الاسماء مثلا في العمود E الخليه 5 هي بدايه العمود
ماهو التغيير في الكود ؟
من فضلك



توقيع :الاستاذ محمدي عبدالسميع
جزاكم الله خيرا

اضافة رد جديد اضافة موضوع جديد
الصفحة 2 من 3 < 1 2 3 >




المواضيع المتشابهه
عنوان الموضوع الكاتب الردود الزوار آخر رد
البحث عن طالب بدلالة 3 صفات له في عمود مجاور nyfmpha
1 112 nyfmpha
رسالة خطا في كود البحث شبل
1 120 شبل
الحصول على بيانات محددة في نتائج البحث علي بطيخ سالم
16 1134 hassona229
كيفية البحث وجلب كل النتايج الخاصة بالبحث في سطر واحد بالمعادلة وايضا باستخدام الكويري mmagedmemo
2 645 mmagedmemo
ارجو المساعدة في كود البحث من الاخوة الخبراء alaa mohammad
1 370 alaa mohammad

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









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

الساعة الآن 11:38 AM