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



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







05-05-2020 03:03 صباحاً
معلومات الكاتب ▼
تاريخ الإنضمام : 03-05-2020
رقم العضوية : 19079
المشاركات : 5
الدولة : مصر
الجنس :
تاريخ الميلاد : 13-9-1988
قوة السمعة : 20
الاعجاب : 0
موقعي : زيارة موقعي
السلام عليكم ورحمة الله وبركاته
بعد الصلاة والسلام على سيدنا محمد أشرف الخلق.
في ملف مرفق للمثال علي ما اريد وهو كالأتي:

  • يوجد بالملف userform الخاصة بعمل فاتورة واضافتها فى شيت الفواتير وفي اليوزرفورم ده 3 listbox أول واحده عاوز يظهر فيها أسماء الأصناف فقط من شيت الأصناف وعند الضغط على اسم صنف يظهر في ال textbox الخاص بالصنف والtextbox الخاص بالعدد عند كتابة عدد الصنف وأضغط على زر إضافة يتم إضافة إسم الصنف والعدد إلى listbox3 مع إمكانية جلب سعر الصنف المحدد وضربه فى العدد واظهار الناتج فى العمود الثالث لل listbox نفسها؛ أما listbox3 محتاج يظهر فيها تواريخ الفواتير السابقة عند اختيار اسم المورد فى combobox وعند الضغط على تاريخ الفاتورة يعرضلي بيانات الفاتورة فى listbox3.</li>
وجزاكم الله خيراً
attachاختبار.zip
 
 
  اختبار.zip   تحميل zip مرات التحميل :(6)
الحجم :(37.242) KB





look/images/icons/i1.gif أريد ربط 3 listbox كل واحدة بشيت مختلف
  05-05-2020 10:14 صباحاً   [1]
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10516
الجنس :
تاريخ الميلاد : 1-10-1978
الدعوات : 24
قوة السمعة : 36718
الاعجاب : 170
وعليكم السلام أخي الكريم (.........)
يرجى مراعاة أن يكون الشرح والوصف بمسميات الإكسيل ولغة الإكسيل ، فأنا أو غيري قد لا نفهم طبيعة عملك ، ولكن نجتمع سوياً في فهم لغة الإكسيل (ورقة عمل - نطاق - خلية - فورم كذا - تكست بوكس 1 - ليست بوكس 2 وهكذا)

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

أعتذرإن كنت قد أطلت عليك ، ولكني أحببت أن أنوه لتلك النقاط

>> في الملف المرفق يوجد 3 يوزر فورم ، والفورم المطلوب العمل عليه هو الفورم المسمى Invoice ولن أقول فورم الفواتير (إنما أسمي الفورم باسمه لتتضح الصورة للأعضاء الذي يريدون متابعة الموضوع) ، يوجد ListBox1 ، والمطلوب تعبئة الليست بوكس بالأصناف الموجودة في ورقة العمل Items في العمود الثاني ، وعند النقر عليها وتحديدها يتم وضع اسم الصنف في TextBox1 ويتم وضع العدد الكلي في TextBox2

>> إليك الكود التالي الذي يقوم بالمطلوب السابق

CODE
Dim wsItems As Worksheet

Private Sub UserForm_Initialize()
    Dim lr As Long
    Set wsItems = ThisWorkbook.Worksheets("Items")
    lr = wsItems.Cells(Rows.Count, 2).End(xlUp).Row
    With Me.ListBox1
        .ColumnCount = 2
        .ColumnWidths = "150,0"
        .List = wsItems.Range("B3:C" & lr).Value
    End With
End Sub

Private Sub ListBox1_Click()
    Dim i As Long
    With Me.ListBox1
        For i = 0 To .ListCount - 1
            If .Selected(i) Then
                TextBox2.Value = .List(i, 0)
                TextBox3.Value = .List(i, 1)
                Exit For
            End If
        Next i
    End With
End Sub



>> شرح الكود:
أول سطر بالكود في أول موديول الفورم Invoice هو جملة Option Explicit وتستخدم لإجبار المبرمج على استخدام المتغيرات والإعلان عنها بشكل صحيح ، وهذه عادة جيدة يجب أن تتعود عليها.

في السطر الثاني يتم الإعلان عن متغير wsItems ليشير إلى ورقة العمل Items التي بها الأصناف وقد جعلت المتغير في أول الموديول ليكون عام أي يتم تعيين قيمة للمتغير مرة واحدة عند بدء تشغيل الفورم ، ويظل محتفظ بقيمته لاستخدامه في إجراءات فرعية أخرى.

الجزء الأول من الكود خاص ببدء تشغيل الفورم حيث يتم تعيين قيمة للمتغير wsItems ليشير لورقة العمل Items ثم معرفة رقم آخر صف به بيانات اعتماداً على العمود الثاني وتخزين الرقم في متغير باسم lr ، ثم يتم ضبط بعض الخصائص لليست بوكس وهنا عدد الأعمدة 2 ثم عرض الأعمدة 150 وصفر ، والصفر هنا لأخفاء العمود الثاني ، ليظهر فقط العمود الأول الخاص بالأصناف أما عمود العدد الكلي فمخفي ولكن نحتاجه فيما بعد ليظهر لنا في الـ TextBox2
وأخيراً يتم تعبئة الليس بوكس بالأصناف والعدد الكلي من ورقة العمل المسماة Items

الجزء الثاني في الكود يخص التعامل عند النقر في الـ ListBox1 ، فعند اختيار صنف يتم عمل حلقة تكرارية على الأصناف الموجودة في الليست بوكس ، فإذا كان العنصر محدداً يتم التعامل معه بهذا الشكل:
يتم وضع قيمة اسم الصنف الموجودة في العمود الأول بالليست بوكس داخل التكست بوكس رقم 1 (اسم الصنف)
يتم وضع قيمة العدد الكلي الموجودة في العمود الثاني بالليست بوكس داخل التكست بوكس رقم 2 (العدد الكلي) .. وهو العمود المخفي والذي عرضه يساوي صفر

ytxxp_HQY4SdLsJd
 
 


أثارت هذه المشاركة إعجاب: ali mohamed ali، ashraf_hertlion، هاوي برمجه، ابونور،



اضافة رد جديد اضافة موضوع جديد



المواضيع المتشابهه
عنوان الموضوع الكاتب الردود الزوار آخر رد
مشكله ف LISTBOX mahmoud ayad
3 1035 hassona229
مشكلة في البحث وأظهار النتائج في listbox جمال اباصيرى
3 2047 YasserKhalil

الكلمات الدلالية
أريد ، listbox ، واحدة ، بشيت ، مختلف ،








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

الساعة الآن 03:52 PM.