اذهب الي المحتوي
أوفيسنا

طلب تعديل كود على list box


الردود الموصى بها

السلام عليكم

جمعة مباركة

استبدل حدث الورقة تي 3  Worksheet_Change

 

بهذا الكود:


 

Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long, ii As Long
Dim NdAry()
If Target.Address <> Range("a1").Address Then Exit Sub

With tahar
    For i = 2 To .Cells(Rows.Count, "A").End(xlUp).Row
        If Val(.Cells(i, 19)) < 5 Then GoTo 1
        If Target.Value = .Cells(i, 1).Value Then
            ii = ii + 1
            ReDim Preserve NdAry(1 To 5, 1 To ii)
            NdAry(1, ii) = .Cells(i, 1).Value
            NdAry(2, ii) = .Cells(i, 2).Value
            NdAry(3, ii) = .Cells(i, 19).Value
            NdAry(4, ii) = .Cells(i, 4).Value
            NdAry(5, ii) = .Cells(i, 5).Value
        End If
1:
Next
End With

If ii Then
    With formconto
        .ListBox1.Clear
        .ListBox1.ColumnCount = 5
        .ListBox1.List = WorksheetFunction.Transpose(NdAry)
        .Show 0
    End With
Else
    MsgBox "معلومات هذا القيد غير متوفرة", vbInformation, "النتيجة"
End If
Erase NdAry
End Sub

 

في امان الله

رابط هذا التعليق
شارك

السلام عليكم

الاستاذ العلامة الخبير / عبدالله باقشير

 

كم انت كبير استاذنا

بارك الله فيك وزادك من فضله وعلمه

وحفظك لاولادك ولنا نحن تلاميذك

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

جزاك الله خيرا

رابط هذا التعليق
شارك

السلام عليكم

 

جمعة مباركة

 

استاذنا عبد الله باقشير تحياتي لك

 

اود ان اسجل لك اعجابي الشديد بطريقة تعاملك  مع array .

 

وكما اسمع فاستخدام ال array يكسب الكود السرعة .

 

و الله اعلم

رابط هذا التعليق
شارك

السلام عليكم

 

أستاذي والله ردودك دائما متقنة وقمة في الإتقان نعم هو ما أريد لكن بقي تعديل بسيط وهو

 

عند ظهور الفورم يجب عدم إظهار قيم التي تحتوي على 5.00 و0.00 وتظظهر القيم الأخرى

 

 

وعند توفر الكود على حالة واحدة يصهر المعلومات كما في الصورة المرفقة

Sans titre.rar

تم تعديل بواسطه ريان أحمد
رابط هذا التعليق
شارك

السلام عليكم

 

جمعة مباركة

 

استاذنا عبد الله باقشير تحياتي لك

 

اود ان اسجل لك اعجابي الشديد بطريقة تعاملك  مع array .

 

وكما اسمع فاستخدام ال array يكسب الكود السرعة .

 

و الله اعلم

ا

 

السلام عليكم

الاستاذ العلامة الخبير / عبدالله باقشير

 

كم انت كبير استاذنا

بارك الله فيك وزادك من فضله وعلمه

وحفظك لاولادك ولنا نحن تلاميذك

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

جزاك الله خيرا

السلام عليكم

جزاك الله خيرا واثابك بدعائك واعطاك بمثله اضعاف مضاعفة

 

المرفق الذي في المشاركة الاولى موجود فيه الفورم

فقط غير الكود اللي في حدث الورقة تي 3

علشان يظهر الفورم غير في الخلية A1

 

تقبل تحياتي وشكري

رابط هذا التعليق
شارك

السلام عليكم

 

جمعة مباركة

 

استاذنا عبد الله باقشير تحياتي لك

 

اود ان اسجل لك اعجابي الشديد بطريقة تعاملك  مع array .

 

وكما اسمع فاستخدام ال array يكسب الكود السرعة .

 

و الله اعلم

السلام عليكم

مرورك اسعدني اخي احمد

بالنسبة لاستخدام الاريا ما اوردته صحيح

 

تقبل تحياتي وشكري

رابط هذا التعليق
شارك

السلام عليكم

 

أستاذي والله ردودك دائما متقنة وقمة في الإتقان نعم هو ما أريد لكن بقي تعديل بسيط وهو

 

عند ظهور الفورم يجب عدم إظهار قيم التي تحتوي على 5.00 و0.00 وتظظهر القيم الأخرى

 

 

وعند توفر الكود على حالة واحدة يصهر المعلومات كما في الصورة المرفقة

 

عند ظهور الفورم يجب عدم إظهار قيم التي تحتوي على 5.00 و0.00 وتظظهر القيم الأخرى

وضح هذا الشرط لم افهمه

هل تقصد القيم التي اكبر من الرقم 5

التي في العمود الاصفر

؟؟؟؟

وعند توفر الكود على حالة واحدة يصهر المعلومات كما في الصورة المرفقة

تم تصحيح هذا في الكود التالي

 

Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long, ii As Long
Dim NdAry()
If Target.Address <> Range("a1").Address Then Exit Sub

With tahar
    For i = 2 To .Cells(Rows.Count, "A").End(xlUp).Row
        If Val(.Cells(i, 19)) < 5 Then GoTo 1
        If Target.Value = .Cells(i, 1).Value Then
            ii = ii + 1
            ReDim Preserve NdAry(1 To 5, 1 To ii)
            NdAry(1, ii) = .Cells(i, 1).Value
            NdAry(2, ii) = .Cells(i, 2).Value
            NdAry(3, ii) = .Cells(i, 19).Value
            NdAry(4, ii) = .Cells(i, 4).Value
            NdAry(5, ii) = .Cells(i, 5).Value
        End If
1:
    Next
End With

If ii Then
    With formconto
        .Caption = ii
        .ListBox1.Clear
        .ListBox1.ColumnCount = 5
        If ii = 1 Then
            .ListBox1.Column = NdAry
        Else
            .ListBox1.List = WorksheetFunction.Transpose(NdAry)
        End If
        .Show 0
    End With
Else
    MsgBox "معلومات هذا القيد غير متوفرة", vbInformation, "النتيجة"
End If
Erase NdAry
End Sub

 

 

في امان الله

  • Like 1
رابط هذا التعليق
شارك

السلام عليكم و رحمة الله و بركاته

الاخ الحبيب الفاضل الاستاذ العلامه / عبد الله باقشير

جزاك الله كل خير

جعل الله مجهودك و ابداعك في ميزان حسناتك

و الله يا اخي حضرتك دائما تتحفنا بافكارك و ابداعاتك

بارك الله في حضرتك

و السلام عليكم و رحمة الله و بركاته

رابط هذا التعليق
شارك

السلام عليكم

استاذنا القدير / عبدالله باقشير

 

بارك الله فيك

وجزاك الله عنا خيرا

رابط هذا التعليق
شارك

السلام عليكم 

 

أستاذي شكرا على التعديل والإستجابة السريعة وجزاك الله كل خير بالنسبة للتعديل الأول لقد حاولت فيه ونجحت حيث عدلت السطر    If Val(.Cells(i, 19)) < 5 Then GoTo 1  ليصبح   

If Val(.Cells(i, 19)) <= 6 Then GoTo 1

 

 

لي طلب بسيط أريد فورم عندما إدخل الكود في  COMPOX     يصهر   معلومات ذلك الكود جميعها بدون إستثناء بأعمدة أنا أختارها   مثلا العمود 03 و04 و 5 

رابط هذا التعليق
شارك

السلام عليكم 

 

أستاذي شكرا على التعديل والإستجابة السريعة وجزاك الله كل خير بالنسبة للتعديل الأول لقد حاولت فيه ونجحت حيث عدلت السطر    If Val(.Cells(i, 19)) < 5 Then GoTo 1  ليصبح   

If Val(.Cells(i, 19)) <= 6 Then GoTo 1

 

 

لي طلب بسيط أريد فورم عندما إدخل الكود في  COMPOX     يصهر   معلومات ذلك الكود جميعها بدون إستثناء بأعمدة أنا أختارها   مثلا العمود 03 و04 و 5 

لم نفهم الطلب

كيف تريد جميع المعلومات بدون استثناء

وبعدين تختارها انت ؟؟؟

رابط هذا التعليق
شارك

ي البداية أعتذر على التأخر في الرد وذلك لسبب توقف النت عندي

سيدي الفاضل وأستاذي الكريم

الطلب هو كالتالي


الفورم التي أريدها  

تحتوي على كومبوكس مجرد ما أجخل الكود

تظهر كل بيانات ذلك الكود بدون شرط يعني قاعدة البيانات تحتوي عل 20 حالة للكود المدخل تأتي20 حالة بعكس الفورم الول الذي يأتي ب 5 حالات يعني نزع كل الشروط
 If Val(.Cells(i, 19)) < 5 Then GoTo 1
ينزع هذا الشرط

أما الأعمدة فالمقصود هو  NdAry(1, ii) = .Cells(i, 1).Value
            NdAry(2, ii) = .Cells(i, 2).Value
            NdAry(3, ii) = .Cells(i, 19).Value
            NdAry(4, ii) = .Cells(i, 4).Value
            NdAry(5, ii) = .Cells(i, 5).Value
نفسها تظهرفي اللسصت بوكس 

رابط هذا التعليق
شارك

السلام عليكم

 

اخي  khhanna

اخي أبو چيداء

 

لقد رفعت الملف حافظة معلومات عن طريق الخطا

الملف المقصود هو فورم معلومات

وتم تغييره في المشاركة السابقة

 

ملف الحافظة معمول بالفيجوال بيسك وليس بالاكسل

عفوا على هذا الخطا

وهنيئا لمن حمل الملف السابق

يعتبره هدية مني

 

تقبلوا تحياتي وشكري

رابط هذا التعليق
شارك

أستاذي وأخي

 

جزاك الله كل خير وبارك الله فيك

 

والمعذرة على التأخير في الرد لعدم توفر النت في البيت

تم تعديل بواسطه ريان أحمد
رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • اضف...

Important Information