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

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

قام بنشر

الاخوة الافاضل

لدى شيت اكسل مكون من ورقتين الورقة الاولى 2015   والورقة الثانية مطالبات

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

تسجيل.rar

قام بنشر

السلام عليكم

الكود المستعمل

Private Sub Worksheet_Change(ByVal Target As Range)
Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("ãØÇáÈÇÊ")
Dim lrww As Long: lrww = ws.Cells(Rows.Count, 1).End(xlUp).Row + 1
Dim lrw As Long: lrw = Cells(Rows.Count, 1).End(xlUp).Row
If Not Intersect(Range("N12:N" & lrw), Target) Is Nothing And Target.Count = 1 Then
Dim rw As Long: rw = Target.Row
If Target = "" Then Exit Sub
ws.Range("A" & lrww) = Range("D" & rw)
ws.Range("B" & lrww) = Range("B" & rw)
End If
End Sub

تحياتي للجميع

تسجيل.rar

قام بنشر

الأخ الحبيب الغالي والأستاذ الكبير شوقي ربيع

أعتذر لعدم رؤيتي لمشاركتك .. إذا حضر شوقي ربيع بطل ياسر خليل

تقبل تحياتي

لا لا انت استادنا ومعلمنا نحن مجرد تلاميذ عند حضرتك

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

  • Like 1
قام بنشر (معدل)

الأستاذ والمعلم القدير شوقي ربيع

هذا تواضع منك .. في غير محله بالنسبة لي ..

أنت تعرف أن قدري لا يتعدى مرحلة التلميذ وحضرتك معلم كبير والكل يستفيد من إبداعاتك المتميزة دائماً .. كل لابد أن يوضع في مقامه

تم تعديل بواسطه YasserKhalil
  • Like 1
قام بنشر

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

الاستاذ/ شوقى ربيع

والاستاذ / ياسر خليل

بارك الله فيكم وجعل هذة الاعمال فى ميزان حسناتكم

لقد قمت بتجربة الكود الخاص بالاستاذ شوقى ربيع ولكن توجد مشكلة فى تنفيذ الكود

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

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

واسفة جدا على تعبكم وجزاكم الله كل خير

قام بنشر

الأخت الكريمة أم ندى (لم ألاحظ أن طالب السؤال أنثى وإلا لكنت امتنعت عن الإجابة ..أكيد بهزر اوعي تاخدي الكلام جد :yes: )

بالنسبة للكود المرفق

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim LR As Long
    If Target.Cells.CountLarge > 1 Then Exit Sub
    If Target.Row > 11 And Target.Column = 14 Then
        Application.ScreenUpdating = False
        With Sheets("مطالبات")
            LR = .Range("A" & Rows.Count).End(xlUp).Row + 1
            .Cells(LR, 1).Value = Target.Offset(, -10).Value
            .Cells(LR, 2).Value = Target.Offset(, -12).Value
            .Range("A2:B" & .Cells(Rows.Count, 1).End(xlUp).Row).RemoveDuplicates Columns:=Array(1, 2), Header:=xlYes
        End With
        Application.ScreenUpdating = True
    End If
End Sub

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

Target.Column = 14

دا رقم العمود المراد العمل عليه N .. لو أردتي العمل على عمود آخر وليكن العمود P هتشوفي رقمه وتبدلي رقم 14 برقم العمود الجديد (اللي هو في الحالة دي رقم 16)

بالنسبة للسطر ده

.Cells(LR, 1).Value = Target.Offset(, -10).Value

الدالة Offset بتعمل إزاحة ابتداء من الخلية التي يتم الكتابة فيها .. والإزاحة عكسية ولذلك هي بالسالب ...

ببساطة لو هتكتبي في الخلية N12 مثلا ..هتبدأي تعدي بشكل عكسي لحد ما توصلي لعمود الأسماء .. قومي بالعد من العمود N إلى عمود الأسماء (البداية قبل العمود N وليست البداية العمود N)

هتلاقي إنه تمت الإزاحة بمقدار 10 لحد ما وصلنا لعمود الأسماء ...

يبقا لو حبيتي تغيري التعامل مع العمود عشان يكون التعامل مع العمود P هتحسبي الإزاحة هتلاقيها 12

فيصبح السطر بهذا الشكل

.Cells(LR, 1).Value = Target.Offset(, -12).Value

نفس الكلام مع السطر اللي بعديه الخاص برقم القرار

سيصبح بهذا الشكل

.Cells(LR, 2).Value = Target.Offset(, -14).Value

أرجو أن أكون وفقت في توصيل المعلومة

تقبلي تحياتي

قام بنشر

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

الاستاذ/ شوقى ربيع

والاستاذ / ياسر خليل

بارك الله فيكم وجعل هذة الاعمال فى ميزان حسناتكم

لقد قمت بتجربة الكود الخاص بالاستاذ شوقى ربيع ولكن توجد مشكلة فى تنفيذ الكود

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

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

واسفة جدا على تعبكم وجزاكم الله كل خير

لا اعرف المشكلة التي واحهتك الكود شغال مية مية

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

If Not Intersect(Range("N12:N" & lrw), Target) Is Nothing And Target.Count = 1 Then

حيث N هو العمود مثلا نريد العمود P الكود سيكون

If Not Intersect(Range("P12:P" & lrw), Target) Is Nothing And Target.Count = 1 Then
قام بنشر

الاستاذ الكريم/ ياسر خليل :fff:

بعد التحية

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

 

 

الاستاذ القدير/شوقى ربيع :fff:

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

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

 

  • 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