logo

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



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




موضوع مغلق

الصفحة 2 من 2 < 1 2 >


  • حالة الموضوع : مثبت
07-10-2020 02:41 مساءً

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

طلب طريقة حدف البيانات من خلال الليست بوكس يوزرفورم مسح البيانات من Sheet1

عند تحديد اي سطر في اللست بوكس والضغط دوبل كليك عليه يحذف من الليست بوكس

لمشاهدة الروابط يلزمك التسجيل في أكاديمية الصقر للتدريب
 
 
  back.zip   تحميل zip مرات التحميل :(62)
الحجم :(1331.845) KB


أثارت هذه المشاركة إعجاب: أباالحسن، hamadarizk، noureddine70،



look/images/icons/i1.gif حذف البيانات من خلال Listbox
  07-10-2020 03:30 مساءً   [1]
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10457
الجنس :
تاريخ الميلاد : 1-10-1978
الدعوات : 24
قوة السمعة : 36399
الاعجاب : 66
وعليكم السلام أخي الكريم محمد عبد السلام
في الحقيقة يمكنني أن أختصر في المساعدة وأقوم برفع الملف بعد التعديل عليه ولكني لن أفعل ذلك ؛ لأن الهدف من المنتدى تعليمي وليس خدمي. وبمشاركتي بهذا الشكل ستكون الاستفادة لك ولغيرك ولي أنا أيضاً (من حيث توثيق الخطوات والشرح)

** بما أن التعامل مع ورقة العمل المسماة Sheet1 لذا يفضل أن نقوم بإعلان متغير من النوع ورقة عمل في أول الموديول الخاص بالفورم UserForm1
CODE
Option Explicit

Dim ws As Worksheet


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

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

CODE
Private Sub UserForm_Initialize()
    Dim lr As Long, i As Long
    Set ws = ThisWorkbook.Worksheets("Sheet1")
    With Me.ListBox1
        .Clear
        .ColumnCount = 3
        lr = ws.Cells(Rows.Count, 1).End(xlUp).Row
        For i = 4 To lr
            .AddItem ws.Cells(i, 1).Value
            .List(ListBox1.ListCount - 1, 1) = ws.Cells(i, 2).Value
            .List(ListBox1.ListCount - 1, 2) = ws.Cells(i, 2).Row
        Next i
    End With
End Sub


يقوم الكود السابق بتعيين ورقة العمل ws وهو الورقة المسماة Sheet1 ، ثم نبدأ في التعامل مع الليست بوكس الموجود على الفورم ListBox1 ، ونقوم بمسح محتويات الليست بوكس باستخدام الأمر Clear ، ثم تحديد عدد الأعمدة في الليست بوكس وهي هنا 3 أعمدة ، ثم حلقة تكرارية لتعبئة الليست بوكس بالصفوف الموجودة في ورقة العمل من الصف الرابع وحتى آخر صف به بيانات على أن يكون الليست بوكس في العمود الأول يساوي قيمة الخلية في العمود الأول ، وأن يكون الليست بوكس في العمود الثاني هو قيمة الخلية في العمود الثاني ، وأن يكون الليست بوكس في العمود الثالث هو رقم الصف الموجود به البيانات في ورقة العمل.
(الكود السابق موجود بالفعل في ملفك لكنني أضفت بعض التغييرات البسيطة)

أثارت هذه المشاركة إعجاب: ali mohamed ali، أباالحسن، hassona229، احمد شريف، EM_ACC، محمدعبدالسلام، noureddine70،



look/images/icons/i1.gif حذف البيانات من خلال Listbox
  07-10-2020 03:38 مساءً   [2]
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10457
الجنس :
تاريخ الميلاد : 1-10-1978
الدعوات : 24
قوة السمعة : 36399
الاعجاب : 66
** بعد أن قمنا بالتعديلات في الأكواد الموجودة نأتي للكود الجديد وهو الكود الذي سيتم تنفيذه عند النقر المزدوج في الليست بوكس
CODE
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
    Dim cnt As Long
    If MsgBox("Selected Row Will Be Deleted. Are You Sure?", vbYesNo + vbQuestion) = vbNo Then Exit Sub
    With Me.ListBox1
        For cnt = 0 To .ListCount - 1
            If .Selected(cnt) Then
                ws.Rows(Val(.List(cnt, 2))).Delete
                .RemoveItem cnt
                UserForm_Initialize
                Exit Sub
            End If
        Next cnt
    End With
End Sub


شرح الكود:
-----------
قمنا بالإعلان عن متغير باسم cnt من النوع Long حيث سنقوم باستخدامه في الحلقة التكرارية للعناصر الموجودة في الليست بوكس.
إظهار رسالة للمستخدم تؤكد أن الصف الذي تم تحديده سيتم حذفه فإذا نقر المستخدم الاختيار No يتم الخروج من الإجراء الفرعي ، أي أنه لا يتم تنفيذ بقية الأسطر الموجودة بالكود.
السطر التالي يتم بدء التعامل مع الليست بوكس ، ثم يتم عمل حلقة تكرارية للعناصر الموجودة في الليست بوكس للتأكد من أن العنصر تم تحديده أو اختياره ، فإذا كان العنصر محدداً يتم التالي (وهذا هو محور المطلوب)
يتم حذف الصف في ورقة العمل المسماة Sheet1 بناءً على قيمة العنصر في العمود الثالث في الليست بوكس (لاحظ الرقم 2 يشير إلى العمود الثالث في الليست بوكس)
السطر الذي يليه يقوم بحذف العنصر من الليست بوكس.
السطر الذي يليه يقوم باستدعاء الكود في حدث بدء تشغيل الفورم (لذا يتم مسح محتويات الليست بوكس وإعادة التعبئة من جديد لتحصل على أرقام الصفوف بشكل صحيح بعد عملية الحذف التي تمت)
وأخيراً يتم الخروج من الحلقة التكرارية حيث لا داعي للتأكد من بقية العناصر الموجودة في الليست بوكس.

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

أثارت هذه المشاركة إعجاب: ali mohamed ali، hassona229، محمدعبدالسلام، noureddine70،



look/images/icons/i1.gif حذف البيانات من خلال Listbox
  07-10-2020 04:23 مساءً   [3]
معلومات الكاتب ▼
تاريخ الإنضمام : 28-08-2017
رقم العضوية : 278
المشاركات : 166
الجنس :
تاريخ الميلاد : 19-6-1981
قوة السمعة : 185
الاعجاب : 0
جزاك الله خيرا اخي ياسير على تفهمك وتقديم المساعده لكن اخي ياسير لما قمت بوضع الكود في الملف وعند النقر دوبل كليك في الليست بوكس ظهر لي هذا الخطا في الصوره جزاك الله خيرا اخي ياسير


1rZWI_11
 
 


أثارت هذه المشاركة إعجاب: noureddine70،



look/images/icons/i1.gif حذف البيانات من خلال Listbox
  07-10-2020 05:15 مساءً   [4]
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10457
الجنس :
تاريخ الميلاد : 1-10-1978
الدعوات : 24
قوة السمعة : 36399
الاعجاب : 66
ما هي رسالة الخطأ التي تظهر معك؟
وفي النافذة الفورية اكتب الأمر
CODE
?ws.Name

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

أثارت هذه المشاركة إعجاب: noureddine70،



look/images/icons/i1.gif حذف البيانات من خلال Listbox
  07-10-2020 05:42 مساءً   [5]
معلومات الكاتب ▼
تاريخ الإنضمام : 28-08-2017
رقم العضوية : 278
المشاركات : 166
الجنس :
تاريخ الميلاد : 19-6-1981
قوة السمعة : 185
الاعجاب : 0
لم اقوم بالتعديل في الكود اخي ياسر ولااعريف طريقة تعديل
هده رسالة الخطأ التي تظهر جزاك الله خيرا

EQLE0_2
 
 





look/images/icons/i1.gif حذف البيانات من خلال Listbox
  07-10-2020 06:13 مساءً   [6]
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10457
الجنس :
تاريخ الميلاد : 1-10-1978
الدعوات : 24
قوة السمعة : 36399
الاعجاب : 66
لن أستطيع مساعدتك برفع ملف مرفق لأن هذا مخالف لما أحاول القيام به.

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

أثارت هذه المشاركة إعجاب: noureddine70،



look/images/icons/i1.gif حذف البيانات من خلال Listbox
  07-10-2020 06:44 مساءً   [7]
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10457
الجنس :
تاريخ الميلاد : 1-10-1978
الدعوات : 24
قوة السمعة : 36399
الاعجاب : 66
اخي الكريم
هل حاولت حقاً؟؟؟
هل قرأت الشرح جيداً؟
هل قمت بتنفيذ الخطوات التي أخبرتك بها عندما أخبرتني أنه ظهر لديك خطأ؟
لم تجب على أي سؤال من الأسئلة التي وجهتها لك .. ما أراك إلا تريد حل المشكلة وحسب ولا أراك تريد التعلم (اعذرني لصراحتي التي قد يراها البعض وقاحة) ..

أثارت هذه المشاركة إعجاب: hassona229، noureddine70،



look/images/icons/i1.gif حذف البيانات من خلال Listbox
  07-10-2020 06:59 مساءً   [8]
معلومات الكاتب ▼
تاريخ الإنضمام : 28-08-2017
رقم العضوية : 278
المشاركات : 166
الجنس :
تاريخ الميلاد : 19-6-1981
قوة السمعة : 185
الاعجاب : 0
لاعليك اخي ياسر انت صريح دائما
لقدقمت بتنفيذ بعد الخطوات فقط التي شرحتها لي والباقي لااعرف الطريقة لقد قمت بعدات من المحاولات ولم انجح

أثارت هذه المشاركة إعجاب: noureddine70،



look/images/icons/i1.gif حذف البيانات من خلال Listbox
  07-10-2020 07:37 مساءً   [9]
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10457
الجنس :
تاريخ الميلاد : 1-10-1978
الدعوات : 24
قوة السمعة : 36399
الاعجاب : 66
المشكلة أن الكلام بهذا الشكل لا يفيد في حل المشكلة
أظهر لنا آخر محاولة لديك وارفق شكل لصورة رسالة الخطأ وضع لنا صورة لكل التعديلات التي قمت بها لمراجعتها .. الكود مجرب عندي ويعمل بدون أدنى مشكلة.

أثارت هذه المشاركة إعجاب: noureddine70،



look/images/icons/i1.gif حذف البيانات من خلال Listbox
  07-10-2020 08:16 مساءً   [10]
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10457
الجنس :
تاريخ الميلاد : 1-10-1978
الدعوات : 24
قوة السمعة : 36399
الاعجاب : 66
ارني صورة الكود الموضوع لديك في حدث بدء تشغيل الفورم والكود الخاص بالليست بوكس .. وأرني السطر الذي أشرت إليك أن تضعه في أول الموديول.
قمت بحذف الصورة التي أرفقتها لأنها نفس الصورة التي أرفقتها سابقاً .. راجع المشاركة مرة أخرى.

أثارت هذه المشاركة إعجاب: noureddine70،



look/images/icons/i1.gif حذف البيانات من خلال Listbox
  07-10-2020 08:53 مساءً   [11]
معلومات الكاتب ▼
تاريخ الإنضمام : 28-08-2017
رقم العضوية : 278
المشاركات : 166
الجنس :
تاريخ الميلاد : 19-6-1981
قوة السمعة : 185
الاعجاب : 0
اخي حاولت ان افهم الموضوع بشكل اوضح ولكن هذا مافهمت


OxPOe_21
 
 


أثارت هذه المشاركة إعجاب: noureddine70،



look/images/icons/i1.gif حذف البيانات من خلال Listbox
  07-10-2020 08:58 مساءً   [12]
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10457
الجنس :
تاريخ الميلاد : 1-10-1978
الدعوات : 24
قوة السمعة : 36399
الاعجاب : 66
ارني صورة الكود الموضوع لديك في حدث بدء تشغيل الفورم UserForm_Initiliaze وأرني بداية الموديول الخاص بالفورم
الرجاء الاستجابة للمشاركات بشكل صحيح لكي نساعدك بشكل صحيح ..

أثارت هذه المشاركة إعجاب: hamadarizk، noureddine70،



الصفحة 2 من 2 < 1 2 >



المواضيع المتشابهه
عنوان الموضوع الكاتب الردود الزوار آخر رد
ترحيل بيانات من خلايا مختلفه من ملفات الى ملف واحد مع كتابة الملاحظات التى تخص ترحيل البيانات Lotfy
7 167 YasserKhalil
مشكلة كود حفظ تعديل البيانات في اليوزرفورم شبل
1 315 شبل
دوره متكامله في الأكسس من خلال مشروع عملي شرح و تحليل قاعدة البيانات بكار للأبد
33 6103 YasserKhalil
فك حماية ورقة عمل فارغة البيانات محمدمطر
3 346 YasserKhalil
انشطار البيانات في عمود لعدة أوراق عمل باستخدام التصفية المتقدمة YasserKhalil
21 4729 YasserKhalil

الكلمات الدلالية
البيانات ، خلال ، Listbox ،









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

الساعة الآن 07:52 AM