طائع قام بنشر مايو 14, 2014 قام بنشر مايو 14, 2014 اساتذتى الكرام واخوانى فى هذا الصرح العظيم اريد عدم تكرار اسم السلعة ثانية أى اريد أن ينظر كود فورم ادخال السلع الى اسم السلعة الجديدة اذا كانت موجودة يضيف على عددها فى عمود العدد ولا يكرر اسمها ثانية هذا ما اريده و تقبلوا جميعا تحياتى Private Sub CommandButton1_Click() ' سنقوم بشرح مبسط جدا للكود ان شاء الله 'نقوم هنا اولا بوضع المعطيات الثابتى التي ستكون مرجعا لنا في الكود 'بعد ذلك ' iRow السطر التالي لتحديد مرجع العمود وهو هنا Dim iRow As Long 'sh السطر التالي لتحديد مرجع الشيت المطلوب استخدامه وهو هنا Dim Sh As Worksheet '================================================ 'ويمكن لنا تغيير المعطيات الثابتة لتكون كما نريد 'sh فمثلا يمكننا تغيير 'SH الي اي متغير مثلا '================================================ ' بطريقة بسيطة وسهله وبعيدا عن التعقيد والمصطلحات الكبيرة 'للتسهيل ليس الا ... واي استفسار الاكيد انني معكم دائما 'سأقوم بشرح الاكواد بابسط طريقة ممكنه 'السطر التالي معناه 'ان يجعل الشيت المطلوب استخدامه هو .... وهو هنا الشيت( ) 'ويجب وضع اسم الشيت المراد ترحيل وتسجيل البيانات ' "" الموجودة بالفورم بين علامتي التنصيص كما في السطر التالي Set Sh = Worksheets("SOURCE") '================================================ ' بعد تحديد اساسيات العمل وتحديد الصفحة المطلوب الترحيل اليها ' يجب علينا اولا تحديد الصف الفارع الذي سيتم تسجيل البيانات الجديدة به 'حتي لا يتم الكتابة علي صف واحد كل مرة ولعمل ذلك نقوم بالتالي ... '================================================ ' نقوم بعمل سطر بسيط للعثور علي اول سطر فارغ في الصفحة ' المختارة لعمل عملية الترحيل وهي هنا شيت رقم 2 ' ولعمل ذلك نقوم بوضع السطر التالي ومعناه 'iRow اجعل 'sh في صفحة ' يساوي آخر صف في العمود رقم 1 ' وبذلك تم تحديد العمود الاول للعثور علي اول سطر فارغ فيه iRow = Sh.Cells(Rows.Count, 2) _ .End(xlUp).Offset(1, 0).Row '================================================ 'سنقوم في السطور التاليه بوضع اكواد التسجيل او الترحيل 'وذلك بعد تحديد صفحة التسجيل وعمود البداية وتحديد او سطر فارغ فيه '================================================ 'ولترحيل البيانات نستخدم الاسطر التاليه 'وسنقوم بشرح السطر الاول والثاني فقط والباقي مثلهما تماماً '================================================ Sh.Cells(iRow, 2).Value = Me.TextBox1.Value ' السطر السابق مقسم الي عدة اوامر وهي كالتالي ' sh اختيار صفحة الترحيل والتي تم اختيارها في بداية الكود 'Cells(iRow, 1).Value هذا الجزء معناه ان قيمة الخليه رقم 1 في الصف الفارغ ' الذي يتم تحديده عن طريق الكود وفي العمود المختار تساوي 'Me.TextBox1.Value هذا الجزء من السطر يعني ان قيمة الخليه رقم 1 كما سبق تساوي 'Me قيمة تكس بوكس رقم 1 في الفورم المستخدم وكلمة 'تعني هنا اليوزفورم المستخدم Sh.Cells(iRow, 3).Value = Me.TextBox2.Value ' السطر السابق مقسم الي عدة اوامر وهي كالتالي ' sh اختيار صفحة الترحيل والتي تم اختيارها في بداية الكود 'Cells(iRow, 2).Value هذا الجزء معناه ان قيمة الخليه رقم 2 في الصف الفارغ ' الذي يتم تحديده عن طريق الكود وفي العمود المختار تساوي 'Me.TextBox2.Value هذا الجزء من السطر يعني ان قيمة الخليه رقم 2 كما سبق تساوي 'Me قيمة تكس بوكس رقم 2 في الفورم المستخدم وكلمة 'تعني هنا اليوزفورم المستخدم '================================================ 'وينطبق ذلك علي السطور التاليه مع تحديد الخليه المراد الترحيل لها ' قيمة التكست بوكس المطلوب في الفورم '================================================ Sh.Cells(iRow, 4).Value = Me.TextBox3.Value Sh.Cells(iRow, 5).Value = Me.TextBox4.Value Sh.Cells(iRow, 6).Value = Me.TextBox5.Value Sh.Cells(iRow, 10).Value = Me.TextBox6.Value '================================================ 'وبهذا تكون قد لنتهت عملية الترحيل حسب عدد التكستات الموجودة في الفورم ' والمطلوب تسجيلها او ترحيلها '================================================ ' ولتسجيل بيانات مرة اخري علي نفس الفورم وهو مفتوح نضع بعض الاسطر البسيطة 'لمسح البيانات القديمة من على الفورم بعد الترحيل للتجهيز لإدخال بيانات جديدة ' كما يلي '================================================ 'ولمسح البيانات القديمة نستخدم الاسطر التاليه 'وسنقوم بشرح السطر الاول فقط والباقي مثله تماماً '================================================ Me.TextBox1.Value = "" ' السطر السابق معناه ان يجعل قيمة التكست بوكس 1 تساوي لاشئ 'Me كلمه ' تعني الفورم نفسه المستخدم في التسجيل والترحيل كما سبق ذكره 'TextBox1.Value وهذا الجزء يعنس قيمة التكست بوكس 1 ' = "" وهذا الجزء يعني ان قيمة التكست بوكس 1 تساوي لاشئ ' حيث ان علامتي التنصيص تعني فراغ او لا شئ '================================================ 'وينطبق ذلك علي السطور التاليه مع تحديد التكست بوكس المراد مسح البيانات الموجوة به ' وما هنا في مثالنا كالتالي '================================================ Me.TextBox2.Value = "" Me.TextBox3.Value = "" Me.TextBox4.Value = "" Me.TextBox5.Value = "" Me.TextBox6.Value = "" '================================================ 'وبعد مسح البيانات نقوم بوضع جزء بسيط لتحديد التكست بوكس المراد بداية التسجيل منه ' وذلك بوضع مؤشر الكتابه في التكست بوكس المراد الادخال منه '================================================ 'ويتم ذلك عن طريق السطر التالي ' وفيه نحدد ان التكست بوكس 1 هو اساس بداية الادخال بعد مسح البيانات Me.TextBox1.SetFocus ' السطر التالي هو اقفال الكود ونهاية مهمة الزر المحدد 'والمستخدم لعملية التسجيل او الترحيل End Sub Private Sub CommandButton2_Click() End End Sub Private Sub TextBox1_Change() Me.TextBox1.Value = Format(Date, "yyyy/mm/dd") End Sub
احمدزمان قام بنشر مايو 15, 2014 قام بنشر مايو 15, 2014 السلام عليكم اخي الكريم في ورقة المخزون نجعل الخلايا المخفية AB2 , AB3 لعملية الحساب و التأكد من وجود الصنف سابقا وفي حالة وجود الصنف يقوم باعطائنا رقم السطر الموجود به الصنف - واذا كان الصنف غير موجود يعطينا النتيجة FALSE لذلك في الفورم نجعل TextBox2 يكتب مباشرة في الخلية AB2 بالكود Private Sub TextBox2_Change() Sheets("ÇáãÎÒä").Range("ab2") = TextBox2.Text End Sub ونضع الدالة التالية في AB3 =IF(ISERROR(MATCH($AB$2;$C$1:$C$9999;0));FALSE;MATCH($AB$2;$C$1:$C$9999;0)) ثم نعدل في كود الإضافة رقم السطر IROW كــ التالي If Sh.Range("ab3") = False Then iRow = Sh.Cells(Rows.Count, 2) _ .End(xlUp).Offset(1, 0).Row Else iRow = Sh.Range("ab2") End If مع التحية حاولت اطبق ذلك على الملف المرفق منك ولكن لم استطع حيث ان الكود لا يتبع نفس الملف ولا نفس اسم الورقة تحياتي
طائع قام بنشر مايو 15, 2014 الكاتب قام بنشر مايو 15, 2014 (معدل) اخى واستاذى لقد نفذت السابق ولكن لم يعمل معى ادرجت الى سيادتكم مرفق به توضيح طلبى ارجو المساعدة وسعة الصدر تقبلوا تحياتى Book2.rar تم تعديل مايو 15, 2014 بواسطه هانى ابو ادهم
طائع قام بنشر مايو 15, 2014 الكاتب قام بنشر مايو 15, 2014 اخى واستاذى سلمت يداك واطال الله عمرك فى الخير واسكنك فسيح جناته ما هذه الروعة لى طلب صغير وهو ان يبدأ الادخال من الصف 10 تقبل تحياتى ولك وافر احترامى وتقديرى
تمت الإجابة احمدزمان قام بنشر مايو 16, 2014 تمت الإجابة قام بنشر مايو 16, 2014 السلام عليكم تم المطلوب و استبدلنا TEXTBOX2 بــ COMPOBOX وفعلنا به خاصية الإكمال التلقائي وذلك لتسهيل عملية الإدخال جرب اصبح امامك قائمة منسدلة تختار منها الصنف او اكتب اول حرف من الصنف يظهر لك تلقائيا Book2.rar
طائع قام بنشر مايو 16, 2014 الكاتب قام بنشر مايو 16, 2014 الأخ أحمد لم أجد من الكلام ما أمدحك سدد الله خطاك وجعل مقعدك الجنة وجعلك على الصراط يقينا أشكرك شكرا جزيلا لأنك وصلت الى ما أبغاه تقبل تحيات تلميذ
احمدزمان قام بنشر مايو 17, 2014 قام بنشر مايو 17, 2014 السلام عليكم اخي الأستاذ الفاضل هاني جزاك الله خيرا على كريم خلقك
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.