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

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


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

السلام على جميع الاخوة الافاضل اما بعد : 

عندي طلب بسيط لا يحتاج الى ارفاق ملف

الطلب يتمثل في :

1- عندي فورم بها حوالي 20 تاكس بوكس حيث تكون القيم المدخلة في كل تاكس بوكس بفورمة "00.00 " واذا قمت بالذهاب الى كل تاكس بوكس ووضع كود الفورمة التالي فهذا عمل مجهد بالاضافة الى الاكثار من الاكواد في الملف

TextBox1 = Format(TextBox1, "00,00")

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

For ii = 1 To 20
Me.Controls("TextBox" & ii) = Format(TextBox, "00,00")
next

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

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

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

مرحبا

 توجد أكثر من طريقة

 

' طريقة 1

Dim Ctrl As Control
For Each Ctrl In Me.Controls
    If TypeOf Ctrl Is MSForms.TextBox Then Ctrl = Format(Ctrl, "#,##0")
Next Ctrl



'"******************************************************************************


' طريقة 2
For i = 1 To 20
Me.Controls("TextBox" & i) = Format(Me.Controls("TextBox" & i), "#,##0")
Next

 

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

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

لقد وضعت الكود بالطريقة التالية :

Private Sub UserForm_Activate()
ziyad
end sub
------------
sub ziyad()
For i = 1 To 20
Me.Controls("TextBox" & i) = Format(Me.Controls("TextBox" & i), "#,##0")
Next
End Sub

ولكن للاسف لم يعمل ...انا اود مثلا عندي قيمة 10.00 بمجرد كتابة 10 تصبح اليا 10.00 وعند وجود قيمة 10.25 هنا اكون مجبر على كتابة العدد كاملا و لكن في حالة كتابة مثلا 102.5 او 1.025او 1025 هنا تظهر رسالة تنبيه بالخطأ... االتمس منك  المساعدة  في تنفيذ المطلوب ولك مني فائق عبارات الشكر و الامتنان

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

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

Private Sub CommandButton10_Click()
For i = 1 To 20
Me.Controls("TextBox" & i) = Format(Me.Controls("TextBox" & i), "00.00")
Next
End Sub

 

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

(Private Sub TextBox20_Exit(ByVal Cancel As MSForms.ReturnBoolean
اعندي 20 تاكس بوكس اريد ان اضع امر خروج منهم كلهم وتوجيههم الى الكود ziyad هل يمكن تحقيق هذا و لكم مني جزيل الشكر و العرفان

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
ziyad
End Sub

 

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

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