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

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


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





مساعدة فى فورم بحث

السلام عليكم ورحمة الله اشكر لكم جهدكم ولكم جزيل الشكر فى الملف المرفق عمود الاصناف وعمود العدد وعمود السعر عند الضغط ع ..


موضوع مغلق

الصفحة 1 من 2 < 1 2 > الأخيرة »


subject icon تمت الإجابة مساعدة فى فورم بحث
23-10-2020 02:00 صباحا
حبيبتى دائما
عضو نشيط
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 19-07-2019
رقم العضوية : 13887
المشاركات : 93
الجنس : ذكر
تاريخ الميلاد : 5-3-1984
يتابعهم : 9
يتابعونه : 0
قوة السمعة : 76
 offline 

السلام عليكم ورحمة الله
اشكر لكم جهدكم ولكم جزيل الشكر
فى الملف المرفق عمود الاصناف وعمود العدد وعمود السعر

عند الضغط على كلمة بحث يظهر فورم بحث
فى مربع البحث اريد كتابة اى كلمة او حرف , يظهر لى فى الاسفل كل مايتضمن ذلك الحرف او الكلمة سواء كانت فى اول الكلام او اوسطها او اخرها
ويظهر لى السعر بجوار كل صنف ولكن لا يترحل معى عند الضغط
ثم اريد ان اختار من نتيجة البحث ما اريد واضغط علية كليك يمين مرة واحدة فيتم ترحيلها الى شيت المبيعات فى عمود الصنف 
اذا كنت مختار كلمة مبيعات فى المربع الاصفر فيتم ترحيل الصنف الى عمود الصنف فى المبيعات
واذا كنت مختار مشتريات يتم ترحيل الصنف الى عمود الصنف فى جانب المشتريات

ولكم جزيل جزيل الشكر
 
 
  ملف بحث.xlsm   تحميل xlsm مرات التحميل :(10)
الحجم :(2552.872) KB



أفضل إجابة مقدمة من hassona229 وهي:
وعليكم السلام أخي الكريم
في الحقيقة يمكنني أن أختصر في المساعدة وأقوم برفع الملف بعد التعديل عليه ولكني لن أفعل ذلك ؛ لأن الهدف من المنتدى تعليمي وليس خدمي. وبمشاركتي بهذا الشكل ستكون الاستفادة لك ولغيرك ولي أنا أيضاً (من حيث توثيق الخطوات والشرح)

** بما أن التعامل مع ورقة العمل المسماة (المخزن) لذا يفضل أن نقوم بإعلان متغير من النوع ورقة عمل في أول الموديول الخاص بالفورم UserForm1

Option Explicit

Dim ws As Worksheet

لاحظ أنني أضفت سطر في بداية الكود وهذا السطر يجبرك على تعريف المتغيرات إذا لم يكن تم تعريفها في الأكواد الموجودة.

** الآن وبعد أن قمنا بالإعلان عن المتغير يلزم تعيين قيمة لهذا المتغير وستكون القيمة هي ورقة العمل المسماة المخزن، وأنسب مكان لتعيين قيمة المتغير ws هو حدث بدء تشغيل الفورم UserForm_Initialize
وهذا هو الكود

Private Sub UserForm_Initialize()
Set ws = ThisWorkbook.Worksheets("المخزن")
End Sub


** الآن ننتقل الى كود البحث عن طريق التيكست بوكس وهو :


Private Sub TextFind_Change()
Dim K As Integer
Dim C As Range
Dim LR As Long
'( 3  )معرفة اخر سطر به بيانات في العامود الذي نريد البحث فيه وهو هنا الصنف
LR = ws.Cells(Rows.Count, 3).End(xlUp).Row
    K = 0
'         تجاهل اي خطأ ثم يكمل مشوار الالف خطوة
          On Error Resume Next
'    بدء التعامل مع الليست بوكس
    With Me.Listfind
'    مسح محتويات الليست بوكس قبل تعبئة الليست بوكس
        .Clear
'        عدد الاعمدة في الليست بوكس
        .ColumnCount = 2
    '        (C)البحث عن طريق العامود
        For Each C In ws.Range("C2:C" & LR)
    '          البحث باى حرف من حروف الكلمة سواء اول الكلمه او اخرها او منتصفها
          If C Like "*" & TextFind.Value & "*" Then
'          بدء تعبئة الليست بوكس
              .AddItem
    '              .List(K, 0) الصفر هنا هو اول عامود في الليست
              .List(K, 0) = ws.Cells(C.Row, 3).Value
    '             .List(K, 1) الاواحد هنا هو ثانى عامود في الليست
              .List(K, 1) = ws.Cells(C.Row, 5).Value
    K = K + 1
          End If
        Next C
    End With
End Sub



شرح الكود:
-----------
قمنا بالإعلان عن متغير باسم C من النوع Range حيث سنقوم باستخدامه في الحلقة التكرارية للعناصر الموجودة في ورقة العمل.
قمنا بالإعلان عن متغير باسم K من النوع Integer حيث سنقوم باستخدامه في الحلقة التكرارية للعناصر الموجودة في الليست بوكس .
قمنا بالإعلان عن متغير باسم LR من النوع LONG حيث سنقوم باستخدامه لمعرفة اخر سطر به بيانات في العامود الذي نريد البحث فيه.
اعطاء قيمه للمتغير باسم K تساوى 0
السطر التالي ليتجاهل اي خطأ
السطر التالي يتم بدء التعامل مع الليست بوكس
السطر التالي مسح محتويات الليست بوكس قبل تعبئة الليست بوكس
السطر التالي تحديد عدد الاعمدة في الليست بوكس
السطر التالي حلقة تكرارية لتعبئة الليست بوكس بالصفوف الموجودة في ورقة العمل من الصف الثانى وحتى آخر صف به بيانات على أن يكون الليست بوكس في العمود الأول يساوي قيمة الخلية في العمود الثالث وهو اسم الصنف، وأن يكون الليست بوكس في العمود الثاني هو قيمة الخلية في العمود الخامس وهو سعر الشراء
السطر التالي البحث باى حرف من حروف الكلمة سواء اول الكلمه او اخرها او منتصفها
السطر التالي  بدء تعبئة الليست بوكس
السطر التالي  .List(K, 0) الصفر هنا هو اول عامود في الليست و ws.Cells(C.Row, 3).Value  الثلاثة هنا هو رقم العامود الخاص باسم الصنف في ورقة العمل
السطر التالي  .List(K, 1) الصفر هنا هو اول عامود في الليست و ws.Cells(C.Row, 5).Value  الخمسه هنا هو رقم العامود الخاص بسعر الصنف في ورقة العمل

الى هنا انتهت عمليه البحث

وتقبل وافر تقديري واحترامي
 
عرض الإجابة




24-10-2020 10:29 صباحا
مشاهدة مشاركة منفردة [1]
hassona229
مشرف عام
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 20-11-2018
رقم العضوية : 9257
المشاركات : 793
الدولة : مصر
الجنس : ذكر
تاريخ الميلاد : 13-9-1980
يتابعهم : 0
يتابعونه : 10
قوة السمعة : 3910
عدد الإجابات: 108
 offline 
look/images/icons/i1.gif مساعدة فى فورم بحث
وعليكم السلام ورحمه الله وبركاته
يمكنك الاستفادة من هذا الموضوع
لمشاهدة الروابط يلزمك التسجيل في أكاديمية الصقر للتدريب

24-10-2020 10:32 مساء
مشاهدة مشاركة منفردة [2]
حبيبتى دائما
عضو نشيط
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 19-07-2019
رقم العضوية : 13887
المشاركات : 93
الجنس : ذكر
تاريخ الميلاد : 5-3-1984
يتابعهم : 9
يتابعونه : 0
قوة السمعة : 76
 offline 
look/images/icons/i1.gif مساعدة فى فورم بحث
والله ياخويا انا عملت دا بالفعل 
عشان مشغلكمش ونريح بعض
بس صدقنى ملقتش طلبى فيه
رغم ان طلبى ابسط من دا بكتير
انا عايز اكتب اى كلمة , يظهر لى كل نتائج البحث التى تضمن تلك الكلمة مش التصفية فى الاكسل
وعايز اضغط كليك يمين يتم الترحيل لشيت تانى خالص مش نفس الشيت ويتم الترحيل بناء على اختيار عمود المبيعات او عمود المشتريات
عند الترحيل فقط 
لا احتاج الى التعديل او استدعاء او حذف او اضافة 

فقط بحث وترحيل عند الضغط

25-10-2020 01:07 مساء
مشاهدة مشاركة منفردة [3]
hassona229
مشرف عام
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 20-11-2018
رقم العضوية : 9257
المشاركات : 793
الدولة : مصر
الجنس : ذكر
تاريخ الميلاد : 13-9-1980
يتابعهم : 0
يتابعونه : 10
قوة السمعة : 3910
عدد الإجابات: 108
 offline 
look/images/icons/i1.gif مساعدة فى فورم بحث
وعليكم السلام أخي الكريم
في الحقيقة يمكنني أن أختصر في المساعدة وأقوم برفع الملف بعد التعديل عليه ولكني لن أفعل ذلك ؛ لأن الهدف من المنتدى تعليمي وليس خدمي. وبمشاركتي بهذا الشكل ستكون الاستفادة لك ولغيرك ولي أنا أيضاً (من حيث توثيق الخطوات والشرح)

** بما أن التعامل مع ورقة العمل المسماة (المخزن) لذا يفضل أن نقوم بإعلان متغير من النوع ورقة عمل في أول الموديول الخاص بالفورم UserForm1

Option Explicit

Dim ws As Worksheet

لاحظ أنني أضفت سطر في بداية الكود وهذا السطر يجبرك على تعريف المتغيرات إذا لم يكن تم تعريفها في الأكواد الموجودة.

** الآن وبعد أن قمنا بالإعلان عن المتغير يلزم تعيين قيمة لهذا المتغير وستكون القيمة هي ورقة العمل المسماة المخزن، وأنسب مكان لتعيين قيمة المتغير ws هو حدث بدء تشغيل الفورم UserForm_Initialize
وهذا هو الكود

Private Sub UserForm_Initialize()
Set ws = ThisWorkbook.Worksheets("المخزن")
End Sub


** الآن ننتقل الى كود البحث عن طريق التيكست بوكس وهو :


Private Sub TextFind_Change()
Dim K As Integer
Dim C As Range
Dim LR As Long
'( 3  )معرفة اخر سطر به بيانات في العامود الذي نريد البحث فيه وهو هنا الصنف
LR = ws.Cells(Rows.Count, 3).End(xlUp).Row
    K = 0
'         تجاهل اي خطأ ثم يكمل مشوار الالف خطوة
          On Error Resume Next
'    بدء التعامل مع الليست بوكس
    With Me.Listfind
'    مسح محتويات الليست بوكس قبل تعبئة الليست بوكس
        .Clear
'        عدد الاعمدة في الليست بوكس
        .ColumnCount = 2
    '        (C)البحث عن طريق العامود
        For Each C In ws.Range("C2:C" & LR)
    '          البحث باى حرف من حروف الكلمة سواء اول الكلمه او اخرها او منتصفها
          If C Like "*" & TextFind.Value & "*" Then
'          بدء تعبئة الليست بوكس
              .AddItem
    '              .List(K, 0) الصفر هنا هو اول عامود في الليست
              .List(K, 0) = ws.Cells(C.Row, 3).Value
    '             .List(K, 1) الاواحد هنا هو ثانى عامود في الليست
              .List(K, 1) = ws.Cells(C.Row, 5).Value
    K = K + 1
          End If
        Next C
    End With
End Sub



شرح الكود:
-----------
قمنا بالإعلان عن متغير باسم C من النوع Range حيث سنقوم باستخدامه في الحلقة التكرارية للعناصر الموجودة في ورقة العمل.
قمنا بالإعلان عن متغير باسم K من النوع Integer حيث سنقوم باستخدامه في الحلقة التكرارية للعناصر الموجودة في الليست بوكس .
قمنا بالإعلان عن متغير باسم LR من النوع LONG حيث سنقوم باستخدامه لمعرفة اخر سطر به بيانات في العامود الذي نريد البحث فيه.
اعطاء قيمه للمتغير باسم K تساوى 0
السطر التالي ليتجاهل اي خطأ
السطر التالي يتم بدء التعامل مع الليست بوكس
السطر التالي مسح محتويات الليست بوكس قبل تعبئة الليست بوكس
السطر التالي تحديد عدد الاعمدة في الليست بوكس
السطر التالي حلقة تكرارية لتعبئة الليست بوكس بالصفوف الموجودة في ورقة العمل من الصف الثانى وحتى آخر صف به بيانات على أن يكون الليست بوكس في العمود الأول يساوي قيمة الخلية في العمود الثالث وهو اسم الصنف، وأن يكون الليست بوكس في العمود الثاني هو قيمة الخلية في العمود الخامس وهو سعر الشراء
السطر التالي البحث باى حرف من حروف الكلمة سواء اول الكلمه او اخرها او منتصفها
السطر التالي  بدء تعبئة الليست بوكس
السطر التالي  .List(K, 0) الصفر هنا هو اول عامود في الليست و ws.Cells(C.Row, 3).Value  الثلاثة هنا هو رقم العامود الخاص باسم الصنف في ورقة العمل
السطر التالي  .List(K, 1) الصفر هنا هو اول عامود في الليست و ws.Cells(C.Row, 5).Value  الخمسه هنا هو رقم العامود الخاص بسعر الصنف في ورقة العمل

الى هنا انتهت عمليه البحث

وتقبل وافر تقديري واحترامي
 

25-10-2020 06:20 مساء
مشاهدة مشاركة منفردة [4]
YasserKhalil
مراقب عام
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10439
الجنس : ذكر
تاريخ الميلاد : 1-10-1978
الدعوات : 24
يتابعهم : 0
يتابعونه : 533
قوة السمعة : 36372
عدد الإجابات: 252
 offline 
look/images/icons/i1.gif مساعدة فى فورم بحث
بارك الله فيك أخي الحبيب حسونة وجزاك الله خيراً على هذه المساهمة المتميزة.

25-10-2020 06:33 مساء
مشاهدة مشاركة منفردة [5]
hassona229
مشرف عام
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 20-11-2018
رقم العضوية : 9257
المشاركات : 793
الدولة : مصر
الجنس : ذكر
تاريخ الميلاد : 13-9-1980
يتابعهم : 0
يتابعونه : 10
قوة السمعة : 3910
عدد الإجابات: 108
 offline 
look/images/icons/i1.gif مساعدة فى فورم بحث
وفيك بارك استاذنا الغالي
وارجو ان يستفيد منها جميع الاخوة وليس صاحب المشكله
لان الكود بسيط جدا وبه شرح لكل سطر

26-10-2020 05:34 مساء
مشاهدة مشاركة منفردة [6]
حبيبتى دائما
عضو نشيط
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 19-07-2019
رقم العضوية : 13887
المشاركات : 93
الجنس : ذكر
تاريخ الميلاد : 5-3-1984
يتابعهم : 9
يتابعونه : 0
قوة السمعة : 76
 offline 
look/images/icons/i1.gif مساعدة فى فورم بحث
السلام عليكم ورحمة الله

انا حاولت والله انى بكل جهد انفذ الخطوات بس معرفتش 
وبعد اكتر من محاولة تملكنى اليأس

 


الصفحة 1 من 2 < 1 2 > الأخيرة »


الكلمات الدلالية
مساعدة ، فورم ،


 










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

الساعة الآن 12:00 مساء