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

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

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

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

حياكم الله أساتذتي الأفاضل

إليكم الكود المرفق جيث يقوم بتعديل البيانات من تكست بوكس إلى الشيت

علما ان الكود يقوم بتعديل البيانات من الصف الثاني وأنا أريد تعديل البيانات من الصف الخامس عشر

Option Explicit
Private Ws As Object
Private Sub Modifier_Click()
Dim LI As Integer
Dim I As Byte
Set Ws = Sheets("ARCHIVE")
If Me.ListBox1.ListIndex = -1 Then Exit Sub
LI = ListBox1.Column(0, ListBox1.ListIndex)
For I = 1 To 7
    O1.Cells(LI, I + 1).Value = Me.Controls("TextBox" & I): Me.Controls("TextBox" & I).Value = ""
Next I
End Sub

مشكلة ثانية عنذ التعديل تظهر لي مشكلة تنسيق الأرقام رقم تم تخزينه كنص

16-07-2016 17-28-25.png

لأن في الشيث به البيانات  عند التعديل  تظهر هذه المشكله وفي الشيث توجد معاذلات لا تتعامل مع هذا المشكل

الإ اذا قمت بالدخول للشيت وتحويل الى رقم

 

 

تم تعديل بواسطه الجموعي
قام بنشر

اخي الفاضل .. لم ترفق لنا مثال لكي نطبق ونقوم بالتجربة .. لكن جرب الكود الاتي لعله يفي يحل المشكلة

Private Sub Modifier_Click()
Dim LI As Integer
Dim I As Byte
Set Ws = Sheets("ARCHIVE")
If Me.ListBox1.ListIndex = -1 Then Exit Sub
LI = ListBox1.Column(0, ListBox1.ListIndex)
For I = 1 To 7
    O1.Cells(LI, I + 14).Value = CInt(Me.Controls("TextBox" & I)): Me.Controls("TextBox" & I).Value = ""
Next I
End Sub

 

  • Like 1
قام بنشر
23 دقائق مضت, عبدالسلام ابوالعوافي said:

اخي الفاضل .. لم ترفق لنا مثال لكي نطبق ونقوم بالتجربة .. لكن جرب الكود الاتي لعله يفي يحل المشكلة


Private Sub Modifier_Click()
Dim LI As Integer
Dim I As Byte
Set Ws = Sheets("ARCHIVE")
If Me.ListBox1.ListIndex = -1 Then Exit Sub
LI = ListBox1.Column(0, ListBox1.ListIndex)
For I = 1 To 7
    O1.Cells(LI, I + 14).Value = CInt(Me.Controls("TextBox" & I)): Me.Controls("TextBox" & I).Value = ""
Next I
End Sub

 

شكرا أستاذي جربت الكود ولم يفلح

تفضل الملف الاصلي

ARCHIVE.rar

 

 

  • Like 1
قام بنشر

بالنسبة للصف الخامس عشر تمام .. لكن لم تظهر لي مشكلة الرقم كنص .. جرب


Private Sub Modifier_Click()
Dim LI As Integer
Dim I As Byte
Set O1 = Sheets("ARCHIVE")
If Me.ListBox1.ListIndex = -1 Then Exit Sub
LI = ListBox1.Column(0, ListBox1.ListIndex)
For I = 1 To 8
    O1.Cells(LI + 13, I + 1).Value = Me.Controls("TextBox_" & I): Me.Controls("TextBox_" & I).Value = ""
Next I

Me.ComboBox1.Value = O1.Cells(LI, 2).Value
Call ComboBox_1
End Sub

 

  • Like 1
قام بنشر (معدل)
7 دقائق مضت, عبدالسلام ابوالعوافي said:

بالنسبة للصف الخامس عشر تمام .. لكن لم تظهر لي مشكلة الرقم كنص .. جرب



Private Sub Modifier_Click()
Dim LI As Integer
Dim I As Byte
Set O1 = Sheets("ARCHIVE")
If Me.ListBox1.ListIndex = -1 Then Exit Sub
LI = ListBox1.Column(0, ListBox1.ListIndex)
For I = 1 To 8
    O1.Cells(LI + 13, I + 1).Value = Me.Controls("TextBox_" & I): Me.Controls("TextBox_" & I).Value = ""
Next I

Me.ComboBox1.Value = O1.Cells(LI, 2).Value
Call ComboBox_1
End Sub

 

فعلا هو المطلوب أستاذي

بارك الله فيك

ياريت تعديل بسيط عند عملية البحث بالكمبوبوكس2

وظهور البيانات عندما تريد التعديل يظهر مشكل

مشكلة ظهور الرقك كنص تظهر عندي ألم تلاحظ ظهور ذلك المثلث الأخضر في اعلى الخلية

تم تعديل بواسطه الجموعي
قام بنشر
في 17‏/7‏/2016 at 08:02, ياسر خليل أبو البراء said:

جرب تستخدم كلمة VAL قبل هذا الجزء


Me.Controls("TextBox_" & I)

ليصبح بهذا الشكل


VAL(Me.Controls("TextBox_" & I))

 

أستاذي أبو البراء بارك الله فيك على الإضافة

لكن عند التعديل تصبح جميع البيانات في الشيت عبارة عن قيمة

انا أريد قيمة تكست بوكس3 هي التي تعدل

For I = 1 To 8
 O1.Cells(LI + 13, I + 1).Value =  Val(Me.Controls("TextBox_" & I)) : Me.Controls("TextBox_" & I).Value = ""
 Next I

قمت بتعديل على الكود نجحت العملية

وانا اريدها بالحلقة التكرارية لإثراء معلوماتي

O1.Cells(LI + 13, 2).Value = Me.TextBox_1.Value
O1.Cells(LI + 13, 3).Value = Me.TextBox_2.Value
O1.Cells(LI + 13, 4).Value = Val(Me.TextBox_3).Value
O1.Cells(LI + 13, 5).Value = Me.TextBox_4.Value
O1.Cells(LI + 13, 6).Value = Me.TextBox_5.Value
O1.Cells(LI + 13, 7).Value = Me.TextBox_6.Value
O1.Cells(LI + 13, 8).Value = Me.TextBox_7.Value
O1.Cells(LI + 13, 9).Value = Me.TextBox_8.Value

 

قام بنشر

جرب أن تقوم بإضافة شرط إذا كانت قيمة المتغير المسئول عن الحلقة التكرارية يساوي 3 ينفذ المطلوب على التكست بوكس الثالث ويضعه كقيمة وإلا يتم التعامل بشكل عادي مع بقية التكست بوكس

For I = 1 To 8
    If I = 3 Then
        O1.Cells(LI + 13, I + 1).Value = Val(Me.Controls("TextBox_" & I)): Me.Controls("TextBox_" & I).Value = ""
    Else
        O1.Cells(LI + 13, I + 1).Value = Me.Controls("TextBox_" & I): Me.Controls("TextBox_" & I).Value = ""
    End If
Next I

تقبل تحياتي

  • Like 1
قام بنشر
5 دقائق مضت, ياسر خليل أبو البراء said:

جرب أن تقوم بإضافة شرط إذا كانت قيمة المتغير المسئول عن الحلقة التكرارية يساوي 3 ينفذ المطلوب على التكست بوكس الثالث ويضعه كقيمة وإلا يتم التعامل بشكل عادي مع بقية التكست بوكس


For I = 1 To 8
    If I = 3 Then
        O1.Cells(LI + 13, I + 1).Value = Val(Me.Controls("TextBox_" & I)): Me.Controls("TextBox_" & I).Value = ""
    Else
        O1.Cells(LI + 13, I + 1).Value = Me.Controls("TextBox_" & I): Me.Controls("TextBox_" & I).Value = ""
    End If
Next I

تقبل تحياتي

بارك الله فيك أستاذي فعلا هو المطلوب

بقيت مشكلة واحدة هي عند البحث بواسطة الكمبوبوكس 2

عندما تريد التعديل لا يتم التعديل تظهر رسالة خطأ

 

قام بنشر
2 دقائق مضت, ياسر خليل أبو البراء said:

ما هي رسالة الخطأ التي تظهر لديك ؟ واعذرني لأني ضعيف في التعامل مع الفورم

18-07-2016 23-17-19.png

18-07-2016 23-17-43.png

للعلم ان الكمبوبوكس 1 يبحث في العمود 2

والكمبوبوكس 2 يبحث في العمود 9

قام بنشر

أخي الحبيب الجموعي

ممكن ترفق آخر ملف يحدث فيه الخطأ للإطلاع على الملف ومحاولة فهم المشكلة بشكل أدق

عموماً لحين إرفاق ملف جرب السطر بالشكل التالي

LI = ListBox1.Column(ListBox1.Index)

تقبل تحياتي

  • Like 1
قام بنشر
5 ساعات مضت, ياسر خليل أبو البراء said:

أخي الحبيب الجموعي

ممكن ترفق آخر ملف يحدث فيه الخطأ للإطلاع على الملف ومحاولة فهم المشكلة بشكل أدق

عموماً لحين إرفاق ملف جرب السطر بالشكل التالي


LI = ListBox1.Column(ListBox1.Index)

تقبل تحياتي

جربت ولم يفلح الامر

تفضل المرفق

ARCHIVE_1.rar

قام بنشر

أخي الحبيب الجموعي

حملت الملف واطلعت عليه ولم يحدث معي خطأ .. ممكن تذكر لنا متي يحدث الخطأ بالضبط .. اذكر الخطوات التي تقوم بها لتجربتها مرة أخرى

وما الهدف من زر الأمر Modifier هل هو للتعديل على البيانات في الليست بوكس ؟

 

قام بنشر
3 ساعات مضت, ياسر خليل أبو البراء said:

أخي الحبيب الجموعي

حملت الملف واطلعت عليه ولم يحدث معي خطأ .. ممكن تذكر لنا متي يحدث الخطأ بالضبط .. اذكر الخطوات التي تقوم بها لتجربتها مرة أخرى

وما الهدف من زر الأمر Modifier هل هو للتعديل على البيانات في الليست بوكس ؟

 

اولا يتم البحث بواسطة الكمبوبوكس 1

تظهر النتائج في اللست بوكس وعنذ اختيار يتم ترحيلها للتكست بوكس

عند التعدل يتم التعديل تمام

الان نبحث بالكمبوبوكس 1 ثم ننتقل مباشرة لعملية الفرز بواسطة الكمبوبوكس2

يتم الفرز بنجاح وعندما اريد التعديل تظهر هذه المشكلة

بالنسبة لزر تعذيل نعم هو لتعديل اليانات لليست بوكس وبيانات الشيت

لكن لا اعرف كود يقوم بتعديل البيانات في اللست بوكس والشيت

اليك الشرح بالصور

19-07-2016 22-22-27.png

19-07-2016 22-22-44.png

19-07-2016 22-23-10.png

قام بنشر

السلام عليكم 

المشكلة في زر التعديل من وجهة نظري  هي :

1. عند الاختيار من الكومبوبكس 1 والاختيار مباشرة من اللست بوكس  يتم التعديل مباشرة لأن قيمة ListBox1 هي عبارة عن ( رقم )  وهو رقم الصف الموجودة فيه البيانات المراد تعديلها . ومن خلال هذا الرقم مع المعادلات الموجودة في الكود يتم التعرف على الصف المراد نقل تعديل البيانات إليه . شاهد الصورة التالية وانظر لقيمة ListBox1 :

 

خطأ 2.png

 

 

 

2. عند الاختيار من الخيارات التي فرزها الكمبوبوكس 2 لا يتم التعديل ويظهر الخطأ وذلك لأن قيمة ListBox1  هي عبارة عن ( نص ) وهو النص الموجود في الخلية التي تم اختيارها في العمود b ويسبب ذلك أن المعادلات الموجودة لا تستطيع جمع نص مع أرقام لذلك يظهر الخطأ .  شاهد الصورة التالية وانظر لقيمة ListBox1 :

 

خطأ 1.jpg

ملحوظة :  a1   الموجودة في الصورة هي النص الموجود في الخلية b15

ملاحظة أخيرة : في الشيت لو استبدلت النصوص الموجودة في العمود b  بأرقام  سيعمل زر تعديل ولن تظهر الرسالة . ولكن المشكلة أن الترحيل يتم بشكل خاطئ وفي نفس الصف لجميع البيانات 

 

حقيقة حاولت وحاولت وحاولت أن أصحح الخطأ ولكن لم أستطع ويحتاج إلى أحد خبرائنا الأفاضل للتعديل .

 

  • Like 2
قام بنشر
في 21‏/7‏/2016 at 22:06, أبو عبدالإله said:

السلام عليكم 

المشكلة في زر التعديل من وجهة نظري  هي :

1. عند الاختيار من الكومبوبكس 1 والاختيار مباشرة من اللست بوكس  يتم التعديل مباشرة لأن قيمة ListBox1 هي عبارة عن ( رقم )  وهو رقم الصف الموجودة فيه البيانات المراد تعديلها . ومن خلال هذا الرقم مع المعادلات الموجودة في الكود يتم التعرف على الصف المراد نقل تعديل البيانات إليه . شاهد الصورة التالية وانظر لقيمة ListBox1 :

 

خطأ 2.png

 

 

 

2. عند الاختيار من الخيارات التي فرزها الكمبوبوكس 2 لا يتم التعديل ويظهر الخطأ وذلك لأن قيمة ListBox1  هي عبارة عن ( نص ) وهو النص الموجود في الخلية التي تم اختيارها في العمود b ويسبب ذلك أن المعادلات الموجودة لا تستطيع جمع نص مع أرقام لذلك يظهر الخطأ .  شاهد الصورة التالية وانظر لقيمة ListBox1 :

 

خطأ 1.jpg

ملحوظة :  a1   الموجودة في الصورة هي النص الموجود في الخلية b15

ملاحظة أخيرة : في الشيت لو استبدلت النصوص الموجودة في العمود b  بأرقام  سيعمل زر تعديل ولن تظهر الرسالة . ولكن المشكلة أن الترحيل يتم بشكل خاطئ وفي نفس الصف لجميع البيانات 

 

حقيقة حاولت وحاولت وحاولت أن أصحح الخطأ ولكن لم أستطع ويحتاج إلى أحد خبرائنا الأفاضل للتعديل .

 

بارك الله فيك أخي وماقصرت

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

قام بنشر

السلام عليكم بليز 

أين خبراء الاكواد

اذا فيه كود بديل يقوم بنفس المهمة افيدوني به

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.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information