اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

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

قام بنشر

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

الاخوه الافاضل

لدى ليست بوكس بها حوالى اكثر من 30سطر

ولدى عدد 11 تيكست بوكس

اريد عند تحديد بعض السطور فى الليست بوكس

وعند الضغط على زر نقل

يتم نقل بيانات الليست المحدده  الى التيكست بوكس

..............................................................

مثال توضيحى

نفترض اننى قمت بتحديد السطر السطور الاتيه

السطر رقم 4-5-10-15-20-25-30

اريد نقل هذه السطور الى التيكست دون وجود فراغات بالتيكست

تقبلو تحياتى

TRS LIST.rar

قام بنشر

السلام عليكم

اتفضل الحل ... بالتعديل الاتى

1- التكست بوكس الاصلية كانت مش مترقمة بالترتيب ... اعدت ترقيمها

2- اضفت جزء من الكود لتنظيف التكست بوكس قبل البدء فى ملئها

3- الخطأ البرمجى اللى كان عندك انك كنت بتستعمل نفس المتغير الى بيعبر عن السطر اللى انت مختاره من الليست بوكس  فى ترقيم التكست بوكس .... يعنى لو انت مختار اول سطر مثلا ... ده رقمه 0 ... كان هايدور على textbox0 وطبعا مش لاقيه .. وده اول خطأ ..

اما لو  كان اختر 1، 5، .... كان ها يكتب فى textbox1 , textbox5 وها يترك الباقى فاضى , والحل هنا فى تخصيص متغير جديد حسب تحقق شرط الاختيار

 

TRS LIST.rar

  • Like 1
قام بنشر

السلام عليكم

اتفضل الحل ... بالتعديل الاتى

1- التكست بوكس الاصلية كانت مش مترقمة بالترتيب ... اعدت ترقيمها

2- اضفت جزء من الكود لتنظيف التكست بوكس قبل البدء فى ملئها

3- الخطأ البرمجى اللى كان عندك انك كنت بتستعمل نفس المتغير الى بيعبر عن السطر اللى انت مختاره من الليست بوكس  فى ترقيم التكست بوكس .... يعنى لو انت مختار اول سطر مثلا ... ده رقمه 0 ... كان هايدور على textbox0 وطبعا مش لاقيه .. وده اول خطأ ..

اما لو  كان اختر 1، 5، .... كان ها يكتب فى textbox1 , textbox5 وها يترك الباقى فاضى , والحل هنا فى تخصيص متغير جديد حسب تحقق شرط الاختيار

 

TRS LIST.rar

اخى واستاذى اسامه

بالفعل كما قلت

وحل ممتاز بارك الله فيك

نسأل الله ان يزيدك من فضله وعلمه

تقبل تحياتى

قام بنشر

اخى اسامه

انا استخدمت الكود التالى

لعدم تنفيذ شئ اذا كانت عدد السطور المحدده

تتعدى 11 سطر

For Ii = 0 To ListBox1.ListCount - 1
    If ListBox1.Selected(Ii) = True Then
    If ListBox1.Selected(Ii) Then H1 = H1 + 1
    End If
Next
If H1 > 11 Then
MsgBox "يجب الا يتعدى عدد السطور المحدده 11سطر": Exit Sub
End If

فهل يوجد كود اسهل وختصر اكثر من هذا الكود

وبالتالى اصبح الكود كالاتى

For Ii = 0 To ListBox1.ListCount - 1
    If ListBox1.Selected(Ii) = True Then
    If ListBox1.Selected(Ii) Then H1 = H1 + 1
    End If
Next
If H1 > 11 Then
MsgBox "يجب الا يتعدى عدد السطور المحدده 11سطر": Exit Sub
End If
H = 0
For I = 0 To ListBox1.ListCount - 1
    If ListBox1.Selected(I) = True Then
    H = H + 1
   Me.Controls("a" & H).Value = ListBox1.List(I, 0)
   Me.Controls("b" & H).Value = ListBox1.List(I, 1)
   Me.Controls("c" & H).Value = ListBox1.List(I, 2)
   Me.Controls("d" & H).Value = ListBox1.List(I, 3)
      End If
Next I

تقبل تحياتى

قام بنشر (معدل)

السلام عليكم

لاختصار الكود... مش لازم تحط العداد ده الاول ... سيبه ينقل ولما العدد يعدى 11 يبلغه انه تم نقل 11 سجل فقط

 

For Ii = 0 To ListBox1.ListCount - 1
H = 0
For I = 0 To ListBox1.ListCount - 1
    If ListBox1.Selected(I) = True Then
    H = H + 1
   If H1 > 11 Then MsgBox "لقد تم نقل بيانات 11سطر فقط (اقصى عدد يمكن اختياره)": Exit Sub

   Me.Controls("a" & H).Value = ListBox1.List(I, 0)
   Me.Controls("b" & H).Value = ListBox1.List(I, 1)
   Me.Controls("c" & H).Value = ListBox1.List(I, 2)
   Me.Controls("d" & H).Value = ListBox1.List(I, 3)
      End If
Next I

 

تم تعديل بواسطه أسامة البراوى
  • Like 1
قام بنشر

اخى اسامه

مشكورا على الرد والمتابعه للموضوع

ولكن هل يمكن ترحيل البيانات اسفل اخر تيكست بها بيانات

بمعنى

لو اننى قمت بتحديد سطرين

ثم ضغطت زر الترحيل

ستصبح التيكست بوكس 1 , 2  مملوءه بالبيانات

ثم لو قمنا بالضغط على الزر مره اخرى

يتم الترحيل بدايه من التيكست بوكس رقم3

اتمنى ان اكون استطعت توصيل الفكره

تقبل تحياتى

قام بنشر (معدل)

السلام عليكم

طلبك بسيط .... (لكن يجب التأكد اولا من ازالة بادئة التنظيف اللى كنا اضفناها مسبقا)  ثم تعديل العداد كما يلى واضافة السطر  الثانى .... حيث يقوم بفحص التكست بوكس حتى يصل الى اول تكست بوكس فاضى لكى يملأ البيانات.

1: H = H + 1

if  Me.Controls("a" & H).Value <>"" then GoTo 1

 

تم تعديل بواسطه أسامة البراوى
  • Like 1
قام بنشر (معدل)

اخى اسامه

بالفعل هذه هو المطلوب

بارك الله فيك

.................................

لى طلب اخر

ماذا لو كان لدى اكثر من تيكست بوكس

على شكل اعمده

مثلا 3 اعمده

من تيكست بوكس a1 الى تيكست بوكس a12

من تيكست بوكس b1 الى تيكست بوكس b12

من تيكست بوكس c1 الى تيكست بوكس c12

فانا قمت باستخدام هذه الكود

H = 0
For I = 0 To ListBox1.ListCount - 1
    If ListBox1.Selected(I) = True Then
1:         H = H + 1

   If H > I Then MsgBox "يجب الا يتعدى عدد السطور المحدده 11سطر": Exit Sub
If Me.Controls("a" & H).Value <> "" Then GoTo 1
   Me.Controls("a" & H).Value = ListBox1.List(I, 0)
If Me.Controls("b" & H).Value <> "" Then GoTo 1
   Me.Controls("b" & H).Value = ListBox1.List(I, 1)
If Me.Controls("c" & H).Value <> "" Then GoTo 1
   Me.Controls("c" & H).Value = ListBox1.List(I, 2)
If Me.Controls("d" & H).Value <> "" Then GoTo 1
   Me.Controls("d" & H).Value = ListBox1.List(I, 3)
      End If
Next I

فهل لدى حضرتك كود افضل من هذا

تقبل تحياتى

 

تم تعديل بواسطه إبراهيم ابوليله

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