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

تصحيح كود في الفورم


2saad
إذهب إلى أفضل إجابة Solved by محمد هشام.,

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

اخواني اعضاء المنتدي الكرام بعد سلام الله عليكم ورحمة الله وبركاته

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

عند اختيار بوتن اوبشن من الفورم مثلا ( محمد ) واقوم بالبحث مثلا عن ( س2 ) تظهر لي البيانات 

عندما اريد ان اعدل في بيان (التوزيع ) واضغط تعديل ارجع الي الشيت ( محمد ) اجده فعلا تم التعديل ولكن اجد المعادلة الموجوده في العمود الملون بالاصفر المسمي ( الفصل ) التي امام التعديل الذي عدلته قد حذفت .مني 3.xlsm

ما السبب ؟

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

  • أفضل إجابة

 

يتم دالك بسبب نسخ قيمة Textbox مكان المعادلة 

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

وهي الاستغناء عن وضع المعادلة يدويا وتعويضها بواسطة الاكواد على النحو التالي 

 

 

Private Sub CommandButton3_Click()
Dim DerLig  As Long, X As Long
Dim WSData As Worksheet: Set WSData = ActiveSheet

DerLig = WSData.Range("C" & WSData.Rows.Count).End(xlUp).row

Application.ScreenUpdating = False

If Me.TextBox1.Value = Empty Then: Exit Sub

    X = Application.Match(Val(TextBox1.Value), WSData.Columns("C"), 0)
    If Not IsError(X) Then
        For i = 2 To 18
            WSData.Cells(X, i + 2).Value = Controls("TextBox" & i).Value
            
             WSData.Cells(X, i + 2).Value = WSData.Cells(X, i + 2).Value
                    Next i
        End If
        For r = 1 To 18
    Me("Textbox" & r) = ""
  Next r
    WSData.Range("C10").Value = 1
    WSData.Range("C10:C" & DerLig).DataSeries , xlDataSeriesLinear
' وضع المعادلة 
    WSData.Range("P10:P" & DerLig).Formula = "=IF(N10="""","""",""(""& O10&"" / ""&N10&"")"")"
    With WSData.Range("P10:P" & DerLig)
         .Value = .Value
       End With

End Sub

 

مني 4.xlsm

تم تعديل بواسطه محمد هشام.
  • Like 4
رابط هذا التعليق
شارك

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

لانه في الاصل المعادلة موجودة فقط يتم تحويلها الى قيم  ويتم تحديثها عند كل تعديل في البيانات

' وضع المعادلة
    WSData.Range("P10:P" & DerLig).Formula = "=""(""& O10&"" / ""&N10&"")"""
    With WSData.Range("P10:P" & DerLig)
       
       End With

 

تم تعديل بواسطه محمد هشام.
  • Like 2
رابط هذا التعليق
شارك

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

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



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

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

Important Information