اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
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...

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