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

سلسلة دروس الترحيل عبر فورم


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

السلام عليكم

سلسلة دروس الترحيل عبر فورم بطرق بسيطة جدا

وبكود مختصر يغنينا عن تسمية العناصر بداخل الفورم

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

اذا استخدمنا التسميات TextBox سنحتاج الى كود كبير لتعريف هذه التسميات في الكود

الدرس الاول :

ترحيل عبر الفورم لصف واحد متسلسل يحتوي على 20 عمود

Private Sub CommandButton1_Click()
On Error Resume Next
Dim KH As Integer
Dim S As Long, R As Long
LastRow = Cells(Rows.Count, "B").End(xlUp).Row + 1
For R = 1 To 20   ' سلسلة الاعمدة
    Cells(LastRow, R + 1) = Me.Controls.Item(R - 1).Value
Next
MsgBox "تم الترحيل بنجاح", 524288, "تم الترحيل"
End
End Sub

الخطوة الاولى والهامه:

هي عند اضافتك للفورم في البداية قم باضافة العناصر (التاكستبوكس او الكومبكس)

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

ثم 1 - 2 وهكذا الى آخر عنصر تريده

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

مثل زر الترحيل والليبلات لتعريف موقع الترحيل للاعمدة

وقبل الانتقال الى الدرس الثاني

منتظرين ردودكم لمعرفة فهمكم للكود المستخدم

_______________________________1.rar

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

  • الردود 62
  • Created
  • اخر رد

Top Posters In This Topic

ترحيل عبر الفورم لصف واحد متسلسل يحتوي على 20 عمود

Private Sub CommandButton1_Click()
On Error Resume Next
Dim KH As Integer
Dim S As Long, R As Long
LastRow = Cells(Rows.Count, "B").End(xlUp).Row + 1
End Sub

الخطوة الاولى والهامه:

هي عند اضافتك للفورم في البداية قم باضافة العناصر (التاكستبوكس او الكومبكس)

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

ثم 1 - 2 وهكذا الى آخر عنصر تريده

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

مثل زر الترحيل والليبلات لتعريف موقع الترحيل للاعمدة

وقبل الانتقال الى الدرس الثاني

منتظرين ردودكم لمعرفة فهمكم للكود المستخدم

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

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

استاذنا الفاضل

موضوع مهم ونتمنى ان نفهمة بعون الله ثم عونكم

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

رائع جداً وفقك الله .

كيف استطعت تحديد نطاق ادخال البيانات من الصف الخامس العمود b

وهل استطيع دخال البيانات في صفحة أخرى لا أريد أن يراها المستخدم ؟؟

وباقي الأسئلة نؤجلها الى ما بعد الدروس القادمة .

أسأل الله أن يزيدك علماً .

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

اولا شكرا جزيلا موضوع مهم وجميل - واضم صوتى الى الاخ الجيلانى واستفسر عن نفس السؤال

ولى سؤال آخر وهو هل من الممكن زيادة الاعمدة مثلا الى عدد 50 مثلا - وكيف ذلك

ومرة اخرى ربنا يوفقك

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

السلام عليكم

الاخوان جميعا ----------------حفظكم الله

نريد ان نمشي في هذا الشرح خطوة خطوة

وعدم الانتقال الى الدرس الآخر حتى يفهم ما قبلة بشكل صحيح

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

بارك الله فيكم

الاخ / جيلاني

LastRow = Cells(Rows.Count, "B").End(xlUp).Row + 1

هذا السطر من الكود معناه

آخر صف في العمود B زايدا واحد

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

السلام عليكم

تابع للدرس الاول

ولى سؤال آخر وهو هل من الممكن زيادة الاعمدة مثلا الى عدد 50 مثلا - وكيف ذلك

عند انشاءك للفورم هنا تعين ماتريده

فتبدا مثل ما اخبرتكم اعلاه باضافة العناصر التي تريد الترحيل منها

انت طالب عدد خمسين اضفنا خمسين ابتدأنا من الشق الايمن من الفورم (راي العين)

باضافة عشرة بالتوالي تحت بعض ثم عملت لهم تجميع ونسختهم ولصقتهم

اربع مرات بالتوالي جنب بعض

صار لدينا خمسين

تاكست بوكس

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

Private Sub CommandButton1_Click()
On Error Resume Next
Dim KH As Integer
Dim S As Long, R As Long
LastRow = Cells(Rows.Count, "B").End(xlUp).Row + 1
For R = 1 To 50   ' سلسلة الاعمدة
    Cells(LastRow, R + 1) = Me.Controls.Item(R - 1).Value
Next
MsgBox "تم الترحيل بنجاح", 524288, "تم الترحيل"
End
End Sub
في السطر الخامس من الكود
For R = 1 To 50   ' سلسلة الاعمدة

رقم عشرين غيرناه خمسين فقط لا غير

وصلت المعلومه والا عاده

________________.rar

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

السلام عليكم

الموضوع ده إن شاء الله انا عازم بتوصيله لكم

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

ومش عارف كيف طريقة القائي هل هي مفهومة؟؟

ولقد اضفت في الكودين فيما سبق متغير غير موجود

لم يسالني احدكم ايه لزمته ده

الا وهو Dim S As Long

ده احذفوه ما لهوش داعي لانه غير موجود اساسا

هو موجود في الدروس الاخرى

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

الأخ الفاضل خبور خير وفقكم الله وزادكم علماً

الشرح واضح ومفهوم ونتابع الموضوع بحرص شديد لما له من اهمية .

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

منتظرين ومتابعين .

الشكر موصول.

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

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

استاذي الفاضل

لو سمحت مامعنى هذا السطر

Dim KH As Integer

مع التحية

شاكر لك حسن صنيعك و اهتمامك

جزاك الله خير

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

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

....

اولا : عملت لهم تجميع ونسختهم ولصقتهم ... كيف عملت التجميع ؟ ضغطت على ايه

ثانيا : الكود الموجود هنا .... عند الضغط على ALT + F11 لاياتي كيف أجده ؟

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

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

آمين

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

السلام عليكم

تم الترحيل بنجاح", 524288, "تم الترحيل"

هنا ملف فيه لمعانى اللارقام و الرموز التى تستخدم في الاكواد

و منها الرقم المشار اليه اعلاه "524288"

و هى تعنى ان يكون نص عنوان مربع الحوار الى اليمين باختصار بدل ان تكتتب

vbMsgBoxRight

تم الترحيل بنجاح", vbMsgBoxRight, "تم الترحيل"

و في الملف ايضا الكتير من الرموز و الارقام التى تفيد المستخدم في ال Msgbox

L2.rar

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

السلام عليكم

الاخ جيلاني -----------------------حفظه الله

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

الاسئلة الان تكون في اطار الدرس

حتى لا تتشتت الافكار

بارك الله فيك

الاخ احمد يعقوب -----------------حفظه الله

نحن عرفنا تابع او متغير باسم kh تكون المتحولات حقه رقم صحيح

الاخ/ سوزي كارم -----------------حفظه الله

جوابك في المرفق

الاخ / محمدي-----------------حفظه الله

الشق :

Cells(LastRow, R + 1
الخلايا التي نريد وضع البيانات فيها مربوطة بالسلسلة R بالنسب للعمود وLastRow بالنسبة للصف اول عمود نريد وضع البيانات فيه هو B يعني رقم 2 وبداية السلسلة R تبدا بالرقم 1 اضفنا الرقم واحد ليصبح 2 اول صف نريد وضع البيانات فيه هو نهاية صف في العمود B وهو LastRow ما تم شرحه اعلاه الشق :
Me.Controls.Item(R - 1).Value

نحن باستخدام هذه الطريقة استخدمنا الكنترول للتعريف بالعناصر التي نريده بدلا عن التسميات

وهي الخطوة الاساسية في هذه الدروس التي اختصرنا بها الكود

ME تستخدم للدلالة على الفورم وممكن تكتب اسم الفورم بدلا عنها

المعنى :

العناصر او الكائنات للفورم (التاكست بوكس ) التي ستاخذ منها البيانات بدلالة رقم تسلسلي

وهو ( رتبة انشاءها مقارنة بباقي العناصر داخل الفورم )

مثال خارج عن الدرس : بما انك مدرس

لو عندنا فصل دراسي فاضي وعايزين ندخل الطلبة داخله

اول طالب يدخل يكون رقم 1 ثاني طالب يدخل يكون رقم 2 وهكذا

بالنسبة ITEM رقم 1 هو صفر رقم 2 هو 1 رقم 3 هو 2

الاخ / ابو اسامة -----------------حفظه الله

بارك الله فيك اخي ايوه ساعدنا في الشرح جزاك الله الف خير

ايضا لو عندك تفسير اكثر وضوحا لمعنى الكنترول

حتى يوضح المعنى بالشكل المطلوب

____________________.rar

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

السلام عليكم

نحن هنا نتكلم عن ماذا ؟؟

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

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

هذا بالنسبة لموضوعنا

وممكن تكون اي شي آخر على حسب الاستخدامات المنوطه اليها

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

هناك قواعد مستخدمة وتسميات واغراض وتوابع

واشياء كثيرة ترجمتها حرفيا قد لا تعطي المعنى المنوط اليها

والله اعلم

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

السلام عليكم

اضافات لابد ان تعرف:

1- الغاية التي نريدها هي استخدام ضابط آخر يشير الى العنصر الذي نريد ترحيل البيانات منه

الى ورقة العمل بدلا عن التسمية فعملية وضعك لهذه العناصر في بداية الامر سيعطيك حرية استخدامك

لاي عناصرآخرى لتكملة شكل الفورم الذي تريدة من ليبلات وازرار وصور وغيره.

وهذا لايعني ان هذا شرط ملزم .

2- بالامكان استخدام وعاء آخر لوضع عناصر اخرى قد تحتاجها لترحيل آخر وهو استخدام الفرمة

( سنتكلم عليه فيما بعد) لان الفرمة هي وعاء لمجموعة معينة تاخذ تسلسل كنترولي من الصفر بالاشارة الى هذا الوعاء.

بيان ما عرفناه في الدرس السابق:

ترحيل بيانات من عناصر (تاكستبوكس او كومبكس) الى صف واحد فقط يتسلسل تباعا

الدرس الثاني:

لومعنا فاتورة مثلا : نحتاج الى ترحيل عدة صفوف لتحمل بيانات هذه الفاتورة

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

وتاخذ هذه الصفوف ترتيب متسلسل داخل الورقة

في المرفق:

تتم هذه العملية بهذا الكود فقط

Private Sub CommandButton1_Click()
On Error Resume Next
Dim KH As Integer
Dim S As Long, R As Long
LastRow = Cells(Rows.Count, "B").End(xlUp).Row
KH = 0
For S = 1 To 10
   For R = 1 To 5
       Cells(LastRow + S, R + 1) = Me.Controls.Item(KH + R - 1).Value
   Next
   KH = KH + 5
Next
MsgBox "تم الترحيل بنجاح", 524288, "تم الترحيل"
End
End Sub

سيتم الشرح من اسئلتكم

_______________________________2.rar

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

ألم أقل لكم إنه ينبوع عطاء لا ينضب إنه الاستاذ خبور خير

لو بدأ العرب واستمروا على هذه الطريقة ولم يبخلوا على المعلومة على من سواهم الا بالمقابل المادي

لجاوزنا الثريا علماً وتفوقنا على نظرائنا الغربيين

اللهم زده علماً وبارك له وعليه وفيه و به واجعل جميع امره يسراً كما ييسر هو على اخوانه بالمنتدى

آميييييييييييييييييييييييييييييييييييييييييييييييييييييين

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

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



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

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



×
×
  • اضف...

Important Information