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

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

قام بنشر

اريد كود وليس معادلة تفرض في اي عمود اريده في الملف وفي اي ورقة الأتي :

فرض العلامة العشرية ان تكون 2 مهما تم التعديل في تنسيق الخلايا اي انه لابد ان يظهر الرقم 15.00 مثلا مهما تم التعديل في تنسيق الخلايا

والطلب الأخر كذلك بالأكواد وهو التقريب في نفس العمود هذا لأقرب 0.05 ، بمعنى عندما اكتب ولو بالغلط 15.42 تتحول لأقرب 0.05 بأن تكون مباشرة 15.45 ،،مثال اخر 15.28 تتحول مباشرة 15.30 وهكذا

اريد ماسبق بالأكواد المحفوظة على عدة اعمدة في ملف ما

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

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

 

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

 

 

2016-12-28_221136.jpg

2016-12-28_221211.jpg

2016-12-28_222311.jpg

2016-12-28_222612.jpg

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

السلام عليكم،

جرب هذا الكود.

Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    If Target.Column <> 3 Or Target.Count > 1 Then Exit Sub
    Target.NumberFormat = "0.00"
    x = Target.Value
    y = Application.WorksheetFunction.Ceiling(x, 0.05)
    Target = y
End Sub

 

قام بنشر

السلام عليكم،

هناك سطر اضافي في الكود.

On Error Resume Next

Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    If Target.Column <> 3 Or Target.Count > 1 Then Exit Sub
    Target.NumberFormat = "0.00"
    x = Target.Value
    y = Application.WorksheetFunction.Ceiling(x, 0.05)
    Target = y
End Sub

 

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

جزاك الله خيرا  ، ولكن لدي مشكلة برجاء الحل

ولكن تقابلني مشكلة وهي عند كتابة اي رقم في العمود ومسحه لا يمسح يظل 
0.00

بل لاحظت ايضا عن الوقوف على اي خلية في العمود ولو فارغة والضغط على delete من لوحة المفاتيح تتحول الى  0.00

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

جرب الكود التالي :

Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    If Target.Column <> 3 Or Target.Count > 1 Then Exit Sub
    If Target.Value <> "" Then
        Target.NumberFormat = "0.00"
        x = Target.Value
        y = Application.WorksheetFunction.Ceiling(x, 0.05)
        Target = y
    Else
        Target.NumberFormat = "@"
    End If
End Sub


 

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

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

ولكن عند تطبيقه على ملف لدي عليه اكواد اخرى يعمل ريستارت للإكسل كلما ادخلت اي رقم في العمود 3  ولا اعرف السبب ماذا  ، وجربت الكودين  علما إني لا اضع اي اكواد الا المرفوعه صورها اعلاه  ، مثل التاريخ

 

 

2017-01-06_230827.jpg

قام بنشر

لا ادري ما اصل المشكلة.

حاول تجريب هذا الكود المعدل :

Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    If Target.Column <> 3 Or Target.Count > 1 Then Exit Sub
    Application.EnableEvents = False
    If Target.Value <> "" Then
        Target.NumberFormat = "0.00"
        x = Target.Value
        y = Application.WorksheetFunction.Ceiling(x, 0.05)
        Target = y
    Else
        Target.NumberFormat = "General"
    End If
    Application.EnableEvents = True
End Sub

 

  • 3 weeks later...
قام بنشر

السلام عليكم  اخي ابو عبد النور    الكود الأخير اكثر من رائع ولكن به مشكلة وجدتها صدفة وهي انه يلغى تماما اي عملية للتراجع  يعني اريد عمل تراجع لأي شيء قمت به سواء من اشرطة الأدوات او اختيار امر  كنترول مع Z لا يعمل

 

 

 

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