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

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

قام بنشر

السلام عليكم

الكود التالى يشتمل على مربعات نص عديدة

و أسماؤها متتالية

textbox1

textbox2

textbox3

هل يمكن الإشارة لرقم مربع النص بمتغير

شىء مثل

textbox & r

و هو لم ينجح معى

أو يمكن استخدام

tabindex الخاصة بكل مربع لذلك

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

للتوضيح

هذا هو الكود

Sheets("All").Activate

ff = 2

Lastr = Sheets("All").Range("b" & Rows.Count).End(xlUp).Offset(1, 0).Row

With Sheets("All"):

    .Cells(Lastr, ff).Value = textbox1.Value

    .Range("c" & Lastr).Value = Format(textbox2.Value, "yyyy/mm/dd")

    .Range("g" & Lastr).Value = TextBox3.Value

    .Range("h" & Lastr).Value = TextBox4.Value

    .Range("i" & Lastr).Value = TextBox5.Value

    .Range("j" & Lastr).Value = TextBox6.Value

    .Range("k" & Lastr).Value = TextBox7.Value

    .Range("l" & Lastr).Value = TextBox8.Value

    .Range("m" & Lastr).Value = TextBox10.Value

    .Range("n" & Lastr).Value = TextBox18.Value

    .Range("o" & Lastr).Value = TextBox17.Value

    .Range("p" & Lastr).Value = TextBox16.Value

    .Range("q" & Lastr).Value = TextBox15.Value

    .Range("r" & Lastr).Value = TextBox14.Value

    .Range("s" & Lastr).Value = TextBox13.Value

    .Range("u" & Lastr).Value = TextBox12.Value

    .Range("v" & Lastr).Value = TextBox11.Value

    .Range("y" & Lastr).Value = TextBox19.Value

End With
وقد استبدلت مكان الخلية بمتغير كما فى مربع النص الأول
Cells(Lastr, ff).Value = textbox1.Value

لكن باقى مربعات النصوص هى المشكلة

أحد فهم شيئا ؟

شكرا مقدما

قام بنشر

السلام عليكم

اخي كيماس حسب فهمي لموضوعك فقد قم بتغيير الجزئية التالية من الكود بدل التكرارات لديك

For i = 3 To 19

Cells(Lastr, i + 4).Value = Me.Controls("TextBox" & i).Value

Next i

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

مرحبا

فهمك سديد

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

لكن يا ليت شرح للجزئية هذه

كى نستفيد منها فى أماكن أخرى

Me.Controls("TextBox" & i).Value

ما معنى

controls

من خصائص الفورم ؟

هذا هو كنز الليلة

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

السلام عليكم

اخي كيماس controls ليتم اعتبارها أداة تحكم معينة ... غير محددة بعد

ويتم تحديدها بوضع اسم الاداة بداخل القوس بعد كلمة controls

لذا تم اعبار ما بداخل القوس عبارة عن نص وتم وضعه بداخل علامة التنصييص ""

ولصق الرقم بجانبها باستخدام الرمز & وفي حالتنا هنا الرقم الملصق متغيير من 3 الى 19

----

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

ارجو ان اكون قد اوصلت الفكرة

فمثلا ّإذا اردنا مسح البيانات من صناديق النص بنفس الآلية استخدم الكود التالي

For i = 3 To 19

Me.Controls("TextBox" & i) = ""

Next i

End Sub

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

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

نعم أستاذى

هذا كله مفهوم

لكن قصدت التعرف على الطريقة

controls

هل هى طريقة للإشارة للكائنات الموجودة على الفورم ؟

كمربعات النص و التسميات و الأزرار ؟

زادكم الله علما

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

السلام عليكم

بالطبع controls للاشارة الى الكائنات التي تستخدم في الفورم من ازرار وصناديق وقوائم

وهذا ما قصدته بأدوات التحكم

قام بنشر

بسم الله ما شاء الله عليك يا حسامي

شرح وافي ورائع

بارك الله فيك

والشكر موصول للأخ كيماس صاحب الأسئلة الفذة التي تخرج كنوز علم الآخرين

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

أخوكم أبو البراء

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