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

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

قام بنشر

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

مرفق ملف تم العمل عليه

ولكن أريد خبرة أهل المعادلات

يتم التكويد بناءا علي أساسيات موجودة في الصف الأول

وتم عمل كود في العمود A:A

ولكن توجد معادلة أفضل من المستخدمة

وشكرا

التكويد.rar

  • Like 1
قام بنشر

السلام عليكم

أخي العزيز

إقترحت لك دالتين تم استحداثهما خصيصا لهذا الغرض

وهما SNF ، TAK وكودهما

 

Function TAK(a As Range) As String


    If a.Count > 1 Then TAK = "N/A": GoTo 10
    TAK = ""
    r = a.Row
    
    For c = 3 To 15 Step 2
       If IsEmpty(Cells(r, c)) Then
        nr = Cells(r, c).End(xlUp).Row
        TAK = TAK & Cells(nr, c): GoTo 5
       End If
       TAK = TAK & Cells(r, c)
5    Next c
10
End Function

=================================================================

Function SNF(a As Range) As String


    If a.Count > 1 Then SNF = "N/A": GoTo 10
    SNF = ""
    r = a.Row
    
    For c = 6 To 14 Step 2
       If IsEmpty(Cells(r, c)) Then
        nr = Cells(r, c).End(xlUp).Row
        SNF = SNF & " " & Cells(nr, c): GoTo 5
       End If
       SNF = SNF & " " & Cells(r, c)
5    Next c
10
SNF = Trim(SNF)
End Function

التكويد2.rar

  • Like 1
قام بنشر

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

أستاذي القدير / طارق محمود

كم أنا أقدرك وأحترمك كثيراً ( أحبك في الله )

والله مش عارف أرد علي هذا الإبداع - بارك الله فيك

لي طلب صغير لو في مقدرتك

لو سمحت ممكن تشرح لي الدالتين أو تعطيني فكرة بسيطة عن تكوين الكود لأن معرفتي بالأكواد بسيطة 

جزاك الله خيراً

شكراً لك مرة أخرى

تلميذك / أحمد فؤاد

قام بنشر

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

بارك الله فيك أستاذي طارق محمود

شرح أكثر من رائع

أستاذ طارق لماذا عند تغيير قيمة معينة في أحد الخلايا لماذا لا يتغير معي الكود 

لابد من إعادة المعادلة أو إعادة تنشيطها في الخلية 

جزاك الله خيرا علي المجهود - آسف علي إزعاجك 

شكراً

قام بنشر

السلام عليكم

عندك حق أخي الكريم

أضف السطر التالي في أعلي كل دالة من الإثنتين

 

 Application.Volatile

 

ليكون الكودين كالتالي

 

Function TAK(a As Range) As String
 Application.Volatile
    If a.Count > 1 Then TAK = "N/A": GoTo 10
    TAK = ""
    r = a.Row
    
    For c = 3 To 15 Step 2
       If IsEmpty(Cells(r, c)) Then
        nr = Cells(r, c).End(xlUp).Row
        TAK = TAK & Cells(nr, c): GoTo 5
       End If
       TAK = TAK & Cells(r, c)
5    Next c
10
End Function


=====================================================



Function SNF(a As Range) As String
 Application.Volatile
    If a.Count > 1 Then SNF = "N/A": GoTo 10
    SNF = ""
    r = a.Row
    
    For c = 6 To 14 Step 2
       If IsEmpty(Cells(r, c)) Then
        nr = Cells(r, c).End(xlUp).Row
        SNF = SNF & " " & Cells(nr, c): GoTo 5
       End If
       SNF = SNF & " " & Cells(r, c)
5    Next c
10
SNF = Trim(SNF)
End Function
  • 2 years later...

انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.

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

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

Important Information