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

البحث عن قيم معينة


إذهب إلى أفضل إجابة Solved by أ / محمد صالح,

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

السلام عليكم .. لابد من التحية عند بدء أى مشاركة

اخواني :مطلوب البحث عن القيم التي تساوي القيمة  في الخلية H5  من العمود E1 الى E8 بالاشارة الي القيم بلون معين 
وفي حالة وجود اكثر من قيمة في العمود E  تعادل القيمة في الخلية H5  عمل طريقة خاصة تظهر القيم ...شاكر ومقدر لكم ..يسعدني ان تتقبلوه بصدر رحب .. وجزاكم الله خير

New Microsoft Excel Worksheet.rar

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

Sub Test()
    Dim r As Range, c As Range, cel As Range, x As Long
    Application.ScreenUpdating = False
    Application.EnableEvents = False
        Set r = Range("E3:E" & Cells(Rows.Count, "E").End(xlUp).Row)
        Set c = Range("H5")
        Set cel = Range("L1")
        cel.CurrentRegion.ClearContents
        Do
            With cel
                .Offset(1).Resize(r.Rows.Count).Formula = "=SumSolver(" & r.Address & ", " & c.Address & ", " & x + 1 & ", Row(A1))"
                If .Offset(1).Value = "" Then Exit Do
                x = x + 1
                .Value = x
                Set cel = cel.Offset(, 1)
            End With
        Loop Until x = 100
    Application.EnableEvents = True
    Application.ScreenUpdating = True
End Sub

Function SumSolver(numbers, t As Double, Optional pt As Long = 1, Optional s As Long = 1)
    Dim i&, ii!, p&, n(), w, r#
    If pt < 1 Or s < 1 Then SumSolver = CVErr(xlErrNum): Exit Function
    w = Split(Application.Trim(Replace(Replace("|" & Join(Application.Transpose(numbers), "||") & "|", "|0|", "|"), "|", " ")), " ")
    ReDim n(1 To UBound(w) + 1)
    For ii = 1 To 2 ^ (UBound(w) + 1) - 1
        For i = 1 To UBound(w) + 1
            n(i) = (Int(ii / 2 ^ (i - 1)) Mod 2) * w(i - 1)
            r = r + n(i)
        Next i
        If Val(r) = Val(t) Then p = p + 1: If pt = p Then Exit For
        r = 0
    Next ii
    w = Split(Application.Trim(Replace(Replace("|" & Join(n, "||") & "|", "|0|", "|"), "|", " ")), " ")
    If pt > p Or s > UBound(w) + 1 Then SumSolver = "" Else SumSolver = Val(w(s - 1))
End Function

The UDF SumSolver taken from this link http://excel-egy.com/forum/t2787

 

 

 

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

  • أفضل إجابة

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

New Microsoft Excel Worksheet.xlsb

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

  • 1 year later...

السلام عليكم ورحمة الله وبركاته ..اساتذتي واخواني حفظكم الله جميعا

هذا الموضوع من حل الاستاذ اخي / احمد صالح  حفظه الله..وحله جدا ممتاز امانه

لكن احتاج ان يكون امتداده في العمود E اوسع من هذا ليكن مثلا 30,000 سطر او اقصى امتداد واسرع في النتائج >

تــــم تعديل رفع الملف بدون ضغط ..فممنوع رفع الملف مضغوط .. طالما حجمه ضغير ,,تجنباً لإهدار وقت الأساتذة

مجموعة قيم تساوي قيمة اجمالية 2.xlsb

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

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