أكاديمية الصقر للتدريب

لوحة التميز الأسبوعي
العضو المتميز المشرف المتميز المراقب المتميز المدير المتميز الموضوع المتميز القسم المتميز
العضو المتميز المشرف المتميز المراقب المتميز المدير المتميز الموضوع المتميز القسم المتميز
EM_ACC مجدى يونس-- لا تميز خلال هذه الفترة لا تميز خلال هذه الفترة بحاجة الى كود ترحيل اكسيل اسئله واجابات


أهلا وسهلا بك زائرنا الكريم في أكاديمية الصقر للتدريب، لكي تتمكن من المشاركة ومشاهدة جميع أقسام المنتدى وكافة الميزات ، يجب عليك إنشاء حساب جديد بالتسجيل بالضغط هنا أو تسجيل الدخول اضغط هنا إذا كنت عضواً .





الدالة المعرفة SEQUENCE بديل للدالة الخاصة بمايكروسوفت

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



30-06-2020 11:13 مساء
Eslam Abdullah
مشرف على لغات برمجة آخرى
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 03-10-2017
رقم العضوية : 852
المشاركات : 1580
الدولة : مصر
الجنس : ذكر
تاريخ الميلاد : 1-9-1995
الدعوات : 5
يتابعهم : 0
يتابعونه : 89
قوة السمعة : 10845
موقعي : زيارة موقعي
عدد الإجابات: 6
 offline 

السلام عليكم ورحمة الله وبركاته
أهلاً وسهلاً بكم أيها الشعب العريق مجدداَ
ومع حلقة جديدة من حلقات الصقر المحلق الفريدة من نوعها

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

uvO9f_2020-06-30_222622

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

نقدم لكم عرض الموسم وبدون مقدمات طويلة الدالة المعرفة SEQUENCE لإنشاء تسلسل بآلية متتالية
تلك الدالة تولد أرقام متتابعة فى الخلايا المجاورة أى أن الدالة تكون بنقطة البداية بالخلية فقط

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


ملاحظة قبل أن أبدا بعرض مزايا الدالة:
الدالة الخاصة بمايكروسوفت تعمل على ربط المرجع الخاص بنتائج الدالة وذلك بقاعدة البيانات الخلفية لتتمكن من تحديث النتائج فى كل مرة
أسكت كدا يعنى لا استنى شوف الصورة دى

8tUXp_FB_IMG_15860652370181427

لا طبعا ولذلك زودت باراميتر خامس لتحدد به خلية يمكن ربطها بنتائج الدالة
لتتمكن من معرفة النطاق القديم ليتم التحديث بالنطاق بالجديد

ما هو ياأنا يامايكروسوفت فى هذا الكوكب biggrin2

حسناَ إذاَ نبدأ على بركة الله بعرض مزايا الدالة اللهلوبة الجديدة أم كرتونة SEQUENCE

أولاَ: كل الباراميترات الخمسه اختيارى وتفادى ايا منهم يعوض برقم 1
عدا طبعا الخلية اللى هتعوض قاعدة البيانات مش هختارها بالباراشوت أنا
يا تحددها انت ياما لن يتم معرفة البيانات القديمة ولن تمحى فى حالة تم تركها
سايبهالك بحرى زى ما انت عايز ياحاج
وعندك شكل الدالة بالباراميترات عشان تملى عينك برضوا منها

=SEQUENCE([rows],[columns],[start],[step],[cell_database])


وعندك واحد شاى وصلحوااااااا ، عشان كوباية الشاى الجميلة دى
هملى عينك ب 3 أمثلة للدالة لوحدها وبداخل دوال أخرى ، فى الصور التالية

   vTwpe_2020-06-30_225625
H48L5_2020-06-30_225651
v1pKm_2020-06-30_230134
استخدام الدالة لا يتختلف عن استخدامها بالدالة بمايكروسوفت
يضاف فقط الباراميتر الخامس لتحديد خلية كقاعدة بيانات ثابته لها


اذا ايها الشعب العريق نأتى لأهم جزء وهو كود الدالة والملف مرفق كالعادة

Private Sub addin(rng As Range, vl As Variant): rng = vl: End Sub

Function SEQUENCE(Optional rows As Long = 1, Optional columns As Integer = 1, Optional start As Double = 1, Optional step As Double = 1, Optional tmp As Range) As Variant
'Developer: Eslam Abdullah
Application.Volatile False
    Dim x&, y%, i%, s%, e%, t$, chk

    If rows < 1 Or columns < 1 Then
        GoSub clr: SEQUENCE = CVErr(xlErrNum)
        Evaluate "addin(" & tmp.Address(, , , 1) & ","""" )"
        Exit Function
    End If

    GoSub clr: GoSub rnk: SEQUENCE = start
    If Not tmp Is Nothing Then Evaluate "addin(" & tmp.Address(, , , 1) & ",""" & Application.Caller.Resize(rows, columns).Address & """)"
    For x = 1 To rows
        For y = 1 To columns
            If x + y > 2 Then
                Evaluate "addin(" & Application.Caller.Offset(x - 1, y - 1).Address(, , , 1) & ",""" & Evaluate(Application.Replace(Application.Caller.Formula, s, e, (columns * (x - 1) + y) * step - (step - 1) + (start - 1))) & """)"
            End If
        Next y
    Next x
Exit Function

clr:
    If Not tmp Is Nothing Then chk = Evaluate("ISREF(" & tmp & ")")
    If IsNumeric(chk) Then
        If chk Then
            If Range(tmp).rows.Count & Range(tmp).columns.Count = rows & columns Then Evaluate "addin(" & tmp.Address(, , , 1) & ",""" & Application.Caller.Resize(rows, columns).Address & """)"
            If Range(tmp).rows.Count > 1 Then Evaluate "addin(" & Mid(Application.Caller.Address(, , , 1), 1, InStr(Application.Caller.Address(, , , 1), "!")) & Range(Range(tmp).Cells(2, 1), Range(tmp).Cells(Range(tmp).rows.Count, Range(tmp).columns.Count)).Address & ","""" )"
            If Range(tmp).columns.Count > 1 Then Evaluate "addin(" & Mid(Application.Caller.Address(, , , 1), 1, InStr(Application.Caller.Address(, , , 1), "!")) & Range(Range(tmp).Cells(1, 2), Range(tmp).Cells(1, Range(tmp).columns.Count)).Address & ","""" )"
        End If
    End If
Return

rnk:
t = Application.Caller.Formula
For i = 2 To Len(t)
    If Mid(t, i, 1) = """" Then i = InStr(i + 1, t, """") + 1 Else If Mid(t, i, 9) = "SEQUENCE(" Then s = i: Exit For
Next i
For i = s + 9 To Len(t)
    Select Case Mid(t, i, 1)
        Case """": i = InStr(i, t, """") + 1
        Case "(": i = InStr(i, t, ")") + 1
        Case ")": e = i - s + 1: Exit For
    End Select
Next i
Return
End Function


وفى الاخير دعنى اخبرك فى تلك النقطة بنصيحه

لا انصح باستخدام الدالة دى مع بيانات كبيره لان تاثيرها كبير وهياثر على سرعة الملف
ويفضل تنفيذ الهدف اللى انت عايزه سواء من الدالة او غيرها مباشرة

انا برمجت الدالة دى لطلب احدهم وعشان تعرف ان اى حاجه ممكن تكويدها اى طلب مهما كان يمكن الوصول اليه بالكود
الكود اقوى اداة ليك سواء مايكروسوفت عامله دوال او جداول محواريه او باور كورى وغيره من الاساليب
كل دا مجرد اداة تخضع لكود فى النهايه ، وبمايكروسوفت او من غيرها انت تقدر توصل للى انت عايزه بنفسك

شكرا لكم ، والسلام عليكم ورحمة الله وبركاته 81














 
 
  SEQUENCE UDF.zip   تحميل zip مرات التحميل :(29)
الحجم :(23.154) KB


01-07-2020 07:04 صباحا
مشاهدة مشاركة منفردة [1]
YasserKhalil
مراقب عام
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10439
الجنس : ذكر
تاريخ الميلاد : 1-10-1978
الدعوات : 24
يتابعهم : 0
يتابعونه : 533
قوة السمعة : 36372
عدد الإجابات: 252
 offline 
look/images/icons/i1.gif الدالة المعرفة SEQUENCE بديل للدالة الخاصة بمايكروسوفت
أحسنت أخي الحبيب إسلام ولا حرمنا الله من روائعك يا متحدي المايكروسوفت smile

01-07-2020 07:31 صباحا
مشاهدة مشاركة منفردة [2]
الصقر
مدير المنتدى
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 2
المشاركات : 1824
الجنس : ذكر
الدعوات : 21
يتابعهم : 0
يتابعونه : 747
قوة السمعة : 19987
موقعي : زيارة موقعي
عدد الإجابات: 2
 offline 
look/images/icons/i1.gif الدالة المعرفة SEQUENCE بديل للدالة الخاصة بمايكروسوفت

انت كدا سجلت اسمك فى عالم المبدعين
لسه عندك كتير انا متاكد ونظرتى فيك متخيبش
ان شاء الله ينتظرك مستقبل مشرق
تحياتى لك يا غالى
123


توقيع :الصقر

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


01-07-2020 08:02 صباحا
مشاهدة مشاركة منفردة [3]
YasserKhalil
مراقب عام
معلومات الكاتب ▼
تاريخ الإنضمام : 21-08-2017
رقم العضوية : 3
المشاركات : 10439
الجنس : ذكر
تاريخ الميلاد : 1-10-1978
الدعوات : 24
يتابعهم : 0
يتابعونه : 533
قوة السمعة : 36372
عدد الإجابات: 252
 offline 
look/images/icons/i1.gif الدالة المعرفة SEQUENCE بديل للدالة الخاصة بمايكروسوفت
مستقبل مشرق آه .. في هذا البلد العريق لا smile

اطلع منها يا ولدي ويبقا مشرق مشرق مفيش كلام

01-07-2020 12:09 مساء
مشاهدة مشاركة منفردة [4]
محمد أبو عبدو
عضو فعال
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 27-08-2017
رقم العضوية : 247
المشاركات : 202
الجنس : ذكر
تاريخ الميلاد : 13-4-1966
يتابعهم : 6
يتابعونه : 2
قوة السمعة : 613
عدد الإجابات: 1
 offline 
look/images/icons/i1.gif الدالة المعرفة SEQUENCE بديل للدالة الخاصة بمايكروسوفت
وعليكم السلام ورحمة الله تعالى وبركاته
شكرا جزيلا أستاذي الفاضل، بارك الله
فيك وجزاك الله خير الجزاء.

01-07-2020 12:19 مساء
مشاهدة مشاركة منفردة [5]
Eslam Abdullah
مشرف على لغات برمجة آخرى
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 03-10-2017
رقم العضوية : 852
المشاركات : 1580
الدولة : مصر
الجنس : ذكر
تاريخ الميلاد : 1-9-1995
الدعوات : 5
يتابعهم : 0
يتابعونه : 89
قوة السمعة : 10845
موقعي : زيارة موقعي
عدد الإجابات: 6
 offline 
look/images/icons/i1.gif الدالة المعرفة SEQUENCE بديل للدالة الخاصة بمايكروسوفت
تشكرات تشكرات إلى أساتذتى الأحباء ومعلمينى الأفاضل الأستاذين الكبار أستاذى ياسر خليل وأستاذى حسام خطاب biggrin2 (أهم حاجه الايمونش دا biggrin2biggrin2)

01-07-2020 12:20 مساء
مشاهدة مشاركة منفردة [6]
Eslam Abdullah
مشرف على لغات برمجة آخرى
rating
معلومات الكاتب ▼
تاريخ الإنضمام : 03-10-2017
رقم العضوية : 852
المشاركات : 1580
الدولة : مصر
الجنس : ذكر
تاريخ الميلاد : 1-9-1995
الدعوات : 5
يتابعهم : 0
يتابعونه : 89
قوة السمعة : 10845
موقعي : زيارة موقعي
عدد الإجابات: 6
 offline 
look/images/icons/i1.gif الدالة المعرفة SEQUENCE بديل للدالة الخاصة بمايكروسوفت
مشكور مرورك الكريم والمشجع أستاذ محمد ابو عبدو 81




الكلمات الدلالية
الدالة ، المعرفة ، SEQUENCE ، بديل ، للدالة ، الخاصة ، بمايكروسوفت ،


 










اخلاء مسئولية: يخلى منتدى أكاديمية الصقر للتدريب مسئوليته عن اى مواضيع او مشاركات تندرج داخل الموقع ويحثكم على التواصل معنا ان كانت هناك اى إنتهاكات تتضمن اى انتهاك لحقوق الملكية الفكرية او الادبية لاى جهة - بالتواصل معنا من خلال نموذج مراسلة الإدارة .وسيتم اتخاذ الاجراءات اللازمة.
سياسة النشر: التعليقات المنشورة لا تعبر عن رأي منتدى أكاديمية الصقر للتدريب ولا نتحمل أي مسؤولية قانونية حيال ذلك ويتحمل كاتبها مسؤولية النشر.

الساعة الآن 09:15 صباحا