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

محتاج تعديل نطاق كود


ehabaf2
إذهب إلى أفضل إجابة Solved by احمد عبدالحليم,

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

السلام عليكم الاساتذة الافاضل 

كنت محتاج اعدل نطاق كود علشان هغير منطقة التسجيل

المدى الحالى يبداء من العمود A 

اريد تعديل المدي ليبداء من العمود ِAL6 السطر رقم 6

و لو ممكن حد يشرح لى الكود يعرفنى كل سطر معناه ايه بحيث لو حبيت اعدل بعد ذلك

و الف شكر لحضراتكم

 

Sub test()
    Dim x&
    Dim r As Range
    Dim v, fnd
    Dim t As String
    x = Columns(1).Cells.Find(Range("N6"), , , 1).Row
    Range("N8") = Cells(x, 2)
    Set r = Cells(x, 1 + Split(Range("N4").Text, "-")(0) * 1).Resize(, 1 + Split(Range("P4").Text, "-")(0) * 1)
    
    With r
        On Error Resume Next
        Set fnd = .Find("Ã", , , 1)
        v = fnd.Address
        If Not fnd Is Nothing Then
            Do
                t = IIf(t = "", Cells(2, fnd.Column).Text, t & "+" & Cells(2, fnd.Column).Text)
                Set fnd = .FindNext(fnd)
            Loop Until v = fnd.Address
        End If
        Range("R8") = t
        t = ""
        Set fnd = .Find("Û", , , 1)
        v = fnd.Address
        If Not fnd Is Nothing Then
            Do
                t = IIf(t = "", Cells(2, fnd.Column).Text, t & "+" & Cells(2, fnd.Column).Text)
                Set fnd = .FindNext(fnd)
            Loop Until v = fnd.Address
        End If
        Range("R10") = t
    End With
End Sub

 

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

  • أفضل إجابة

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

كان هذا طلبك وتم الاجابة عليه باكثر من طريقة من الاخوة الافاضل 

انتهى من التصميم ثم فكر فى الحل 

قم بتغيير التالى 

x = Columns(1).Cells.Find(Range("N6"), , , 1).Row

هنا هتغير حاجتين رقم العمود حيث كان العمود a وهو رقم 1  بالعمود الذى يحتوى على اكواد الموظفين وكمان هتغيير الخلية n6 وهى التى تحتوى على رقم كود الموظف بالخلية الجديدة التى تحتوى على كود الموظف

 

Range("N8") = Cells(x, 2)

هنا هتغير حاجتين Range("N8") بالخلية الجديدة التى اصبحت تحتوى على اسم الموظف وكمان هتغير  Cells(x, 2) رقم 2 برقم العمود الذى اصبح يحتوى على اسماء الموظفين حسث كان سابقا هو العمود b اى رقم 2 

Set r = Cells(x, 1 + Split(Range("N4").Text, "-")(0) * 1).Resize(, 1 + Split(Range("P4").Text, "-")(0) * 1)

هنا هتغير Range("N4") باسم الخلية التى تحتوى على تاريخ البداية باسم الخلية الجديدة وكمان هتغيير Range("P4") تاريخ النهاية باسم الخلية الجديدة لتاريخ النهاية 

واكمل باقى باقى التغييرات بنفس النمط 
او قم برفع ملف لعمل التعديلات المطلوبة مفيش حد هيكتب  توقعات على اساس التعديل الذى قمت به 

تقبل تحياتى

تم تعديل بواسطه احمد عبدالحليم
  • Like 2
رابط هذا التعليق
شارك

استاذنا الفاضل احمد عبدالحليم

الف الف شكر لمرور حضرتك الكريم

بالفعل عملت التغيرات فى الكود و كله تمام عدا خلية اظهار التاريخ معرفتش اعدلها

مرفق لحضرتك الملف و لو مفيهاش اي تعب لحضرتك تعدلى الكود

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

زادك الله من علمه و فضله

غياب يومية.xlsm

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

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

اما الملف المرفق حاليا الكود يعمل ويجلب ايام الغياب

 

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

استاذنا الفاضل احمد عبدالحليم

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

مثلا من الخلية R8 و الخلية  R10

الى الخلية AB8  و الخلية AB10

الحمد للحمد لله باقى الخلايا غيرتها

و الف شكر لحضرتك و اهتمامك

 

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

Range("AB8") = t
        t = ""
        Set fnd = .Find("Û", , , 1)
        v = fnd.Address
        If Not fnd Is Nothing Then
            Do
                t = IIf(t = "", Cells(2, fnd.Column).Text, t & "+" & Cells(2, fnd.Column).Text)
                Set fnd = .FindNext(fnd)
            Loop Until v = fnd.Address
        End If
        Range("AB10") = t
    End With

 

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

 

استاذنا الفاضل محمد هشام الف الف شكر لمرورك الكريم 

استاذنا الفاضل احمد عبدالحليم

الف الف شكر لحضرتك تم تعديل الكود و نفذ المطلوب

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

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

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