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

احصاء الاعداد فقط بمدى محدد بشرط الاعداد التي تسبق اول نص


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

السلام عليكم

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

المطلوب في الملف المرفق اذا ممكن عمل معادلة تقوم باحصاء عدد الاعداد الموجودة بمدى محدد

لكن بشرط ليس جميع الاعداد في هذا المدى وانما اول الاعداد قبل اول نص فقط

هل يمكن عمل ذلك بمعادلة او كود

وفقكم الله وجزاكم الله خيرا

احصاء الاعداد فقط قبل اول نص.rar

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

بعد اذن الاخ ياسر الغربي

هذا الكود

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column <> 2 Then Exit Sub

Start = 4: t = 0
Do Until Not IsNumeric(Range("B" & Start).Offset(1, 0))
t = t + 1
Start = Start + 1
Loop
[k1] = t + 1

 End Sub

 

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

السلام عليكم

الاستاذ الفاضل ياسر العربي

الاستاذ الفاضل سليم حاصبيا

يعجز اللسان عن شكري وتقديري لمساهماتكم الرائعة

الاكواد رائعة تم تجربة الكودين والنتائج مبهرة

وفقكم الله وجزاكم الله خيرا

جعلها الله في ميزان حسناتكم

لكم حبي واحترامي وتقديري

 

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

السلام عليكم

اساتذتي الكرام

تعديل بسيط يحفظكم الله

الكودين لايعملان اذا كانت الاعداد تاتي بالمعادلات 

تغيير الاحصاء يكون من A27:A4 وليس B

استطعت ان اغير كود الاستاذ سليم حاصبيا جزاه الله خيرا ويعمل بشكل ممتاز

Private Sub Worksheet_Change(ByVal Target As Range)

'الاستاذ سليم حاصبيا
    If Target.Column <> 1 Then Exit Sub

Start = 4: t = 0
Do Until Not IsNumeric(Range("a" & Start).Offset(1, 0))
t = t + 1
Start = Start + 1
Loop
[f1] = t + 1

End Sub

لكن لم استطع تغيير كود الاستاذ ياسر العربي جزاه الله خيرا

ليعمل على العمود الاول A

ارجوالتدخل من الاستاذ ياسر العربي جزاه الله خيرا

او احد الاساتذة الكرام لتغيير عمود الاحصاء

وفق الله الجميع لما فيه الخير والمحبة

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

معادلة رائعة اخي سليم 

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

ضع هذا الكود داخل موديول

Function YAS(x As Range)
    For Each Rng In x
        If IsNumeric(Rng) = True Then
            Y = Y + 1
        Else
            GoTo 1
        End If
    Next
1   YAS = Y
End Function

وفي اي مكان ضع المعادلة التالية

=YAS(B4:B200)

وتستطيع ان تحدد النطاق الذي تريده ضمن اي عمود

المثال مرفق

 

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

Function YAS(x As Range)
    For Each Rng In x
        If Application.WorksheetFunction.IsNumber(Rng) = True Then
            Y = Y + 1
        Else
            GoTo 1
        End If
    Next
1   YAS = Y
End Function

حسب المناسب لك

 

احصاء الاعداد فقط قبل اول نص.rar

 

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

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