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

هل هناك دالة تبين عدد مرات التغير في خلية معينة ؟؟


halwim

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

تحية عطرة للجميع عندي سؤال واعتقد انه واضح من العنوان وللتوضيح أكثر :

أريد أن أحصي عدد مرات التغيير في خلية معينة فمثلا لو كانت الخلية A1 معرضة

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

للرقم 9 وبعد بكرة صاير 14 وهكذا ........ فهنا كما تلاحظون جرت 3 تغيرات

وذلك ابتداءا من الرقم 6 ثم تبدل للرقم 9 ثم تبدل للرقم 14 .

المطلوب وضع عدد التغيرات بشكل آلي في الخلية B1 المجاورة .

ولكم جزيل الشكر .

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

أستاذي الفاضل " فلسطيني " ألف شــــــــــــــــكر لسيادتك

نعم هذا هو المطلوب تماما .

برجاء شرح الطريقة من أجل تطبيقها على خلايا أخرى من المستند .

حاولت البحث عن صيغة أو معادلة أو كود فلم أجد ترى كيف تم ذلك ؟؟

في انتظار شرحكم ودمتم.

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

أخي الكريم

تم عمل المطلوب من خلال الكود التالي

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
'Cell A1will be the register that counts the changes
N = [b1].Value
'Cell "b1" is the one we're monitoring, here
If Target.Address = "$A$1" Then
N = N + 1
[b1].Value = N
End If
End Sub

و هو كود يتعمد على التغير في الخلية a1 و عند التغيير

يتم تغيير قيمة العداد N و الذي يساوي N+1

و قيمة العداد الجديدة تكتب في الخلية B1

أرجو أن يكون الشرح واضحا

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

أستاذي الفاضل لا أريد نبذة عن الكود أريد تطبيق عملي حاولت عمل الآتي فلم أستطع :

كل خلية من المدى A1:A10 يتم احتساب عدد تغيراتها في المدى B1:B10

تماما مثل المثال الذي أرفقت على A1 و B1 لكني أريده يشمل المدى المذكور.

شكرااااا لك.

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

حاولت عمل الآتي فلم أستطع :

كل خلية من المدى A1:A10 يتم احتساب عدد تغيراتها في المدى B1:B10

تماما مثل المثال الذي أرفقت على A1 و B1 لكني أريده يشمل المدى المذكور.

فكلي رجاء ممن لديه الحل أن يضع الجواب وشكرااااا .

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

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

مطلوب الإضافة والتعديل على المرفق بما يلي :

* المطلوب / وضع تفاصيل الأ قساط بترحيل قيمة كل قسط بمجرد كتابته في A1 وذلك قبل كتابة القسط الثاني فيها، ثم ترحيل القسط الثاني أيضا قبل كتابة القسط الثالث وهكذا يتم ترحيل باقي الأقساط إلى جدول أو إلى صفحة أخرى .

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

* الملف موجود في المرفقات .

AQSAT.zip

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

السلام عليكم ........

صار وقت على طلب التعديلات !!

لاشك أني مقدر لظروفكم ، وان شاء الله يكون المانع خير....

*

**

لدي أيضا ملاحظة على خاصية التعداد وذلك فيما لوكان التغير ناتج عن تغير التاريخ في الخلية A1

فإن العداد لايتغير بل يبقى جامد والمفترض أنه يتغير كل يوم يعني لو كان تاريخ اليوم مثلا (1) في

الخلية A1 وأيضا في الخلية B1 مكتوب الرقم (1) فإنه يلزم بعد عشرة أيام يعني بتاريخ 10يلزم

أن يصبح الرقم (10) موجوداً في الخلية B1 لأنه بالفعل قد جرت عشر تغيرات.

لكن الكود كما قلت لايعمل إلا عندما نعمل تغيرات ثم نضغط إنتر، يعني يعمل بعد الإنتر فقط .

*

**

*** كذلك لايعمل إذا جعلنا A1 نتيجة لجمع خليتن هما A4+A5 فإنه عند تغيير أحدهما تتغيرالنتيجة

في A1 ولكن للأسف لا يتغير العداد في B1 .

أتمنى أن أجد الحل مع مراعاة الملاحظات السابقة ..... واسمحوا لي إن كنت أثقلت عليكم .

تحياتي halwim

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

بسم الله الرحمن الرحيم

الاخ halwim

بعد التحية

اليك اخى ما طلبت فى رسالتك الخاصة بالمرفقات

1 - عمل مدى للعداد "B1:B10" .

2 - عمل ترحيل للاقساط عند الكتابة فى الخلية "A1" .

3 - حل مشكلة العداد مع التواريخ .

4 - تم الاجابة على السؤال القادم وهو عمل مدى لترحيل الاقساط مناظر لمدى الادخال فى "A1:A10 "

اخى العزيز

عندما تطلب المساعدة من الاعضاء قم بعرض كامل طلبك

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

مع تحياتى

AQSAT2.rar

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

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

1 - عمل مدى للعداد "B1:B10" .

2 - عمل ترحيل للاقساط عند الكتابة فى الخلية "A1" .

3 - حل مشكلة العداد مع التواريخ .

بالنسبة لعداد النطاق B1:B10 جميل ولكن عمليات العد محدودة بأربع تغييرات وما أتمناه أن يكون إحصاء عدد التغيرات مفتوح بحيث يمكن مراقبة عدد مرات إدخال الموظف في حقول العمودA .

أيضا عندما فتحت الكود وحاولت تبديل النطاق إلى مكان آخر غير عمود a وb وبحثت عن أسماء خلايا فلم أجد سوى أرقام !! ؟؟

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

وعلى العموم أخي العزيز إن شاء الله أوفق للعمل بنصيحتك .

وشكرا

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

بسم الله الرحمن الرحيم

الاخ halwim

لقد تم حل مشكلة احصاء التاريخ

الان يقوم العداد بأحصاء التواريخ وايضا النصوص

اما بالنسبة لتقيد العداد

التقيد ب 4 مرات تم عملة ليتناسب مع الاربع اقساط التى قمت بتحديدهما لان العداد لو كان مفتوح لاكثر من 4 مرات سقوم بالترحيل خارج نطاق الاقساط .

فاذا اردت :

1 - ان يكون العداد مقتوح وتقيد ترحيل الاقساط فقط .

2 ان يكون العداد مفتوح وايضا ترحيل الاقساط مفتوح .

يمكن تعديل ذلك

اما بخصوص تغير المدى سأقوم بالتوضيح لك بعد ان تستقر على باقى التعديلات إن شاء الله

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

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

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

اقتباس : "الان يقوم العداد بأحصاء التواريخ وايضا النصوص"

أتمنى أن يؤخذ في الإعتبار إحصاء التغيرات الغير مباشرة في الخلية كما إذا زادت النتيجة أو نقصت مثلا هذه المعادلة في A1 وهي A5+A6

ويوجد في A5 العدد 10 مثلا وفي A6 العدد 5 مثلا فإن مجموع الخليتين وهو(15) سيخرج في A1 .

الملاحظ أننا لو غيرنا الرقم في A5 بحيث كتبنا فيها 20 مثلا فسوف تصبح في A1 النتيجة 25

ومع ذلك فإن العداد يتجاهل هذه التغير ات لأنها تغيرات غير مباشرة.

والمطلوب تسجيل أي تغيرات في المدى المشمول .

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

في إنتظار إرفاق التعديلات والشرح بخصوص تغير المدى .

وشككككرا.

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

بسم الله الرحمن الرحيم

الاخ halwim

بعد التحية

اسف على التأخبر

بالنبسة للقيم الغير مباشرة لايحضرنى حل لها الان ولكنى سأحاول .

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

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Column = 1 And Target.Row >= 1 And Target.Row <= 10 Then
    Me.Cells(Target.Row, 2).Value = Me.Cells(Target.Row, 2).Value + 1
    If Me.Cells(Target.Row, 1).Value = 0 Then
        Me.Cells(Target.Row, 2).Value = 0
    End If
End If
End Sub
وستجدة بالملف المرفق الورقة الثانية اما لتغير المدى تم تعديل الكود حتى تستطيع تغير المدى كما تريد فى سهولة انظر الكود
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
'
AqsatT_Column = 6   '** رقم عمود الاقساط**
Counter_Column = 7  '**رقم عمود العداد**
'
Row1 = 1            '**رقم صف بداية المدى**
Row2 = 10           '**رقم صف نهاية المدى**
'
If Target.Column = AqsatT_Column And Target.Row >= Row1 And Target.Row <= Row2 Then
    Me.Cells(Target.Row, Counter_Column).Value = Me.Cells(Target.Row, Counter_Column).Value + 1
    If Me.Cells(Target.Row, AqsatT_Column).Value = 0 Then
        Me.Cells(Target.Row, Counter_Column).Value = 0
    End If
End If
End Sub

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

كما تلاحظ ان :

1 - عمود الاقساط هنا رقم 6 أى عمود "F"

2 - عمود العداد هنا رقم 7 أى عمود "G"

3 - رقم صف بداية المدى هنا رقم 1 أى من الصف الاول

4 - رقم صف نهاية المدى هنا رقم 10 أى الى الصف العاشر

واعتقد التوضيح داخل الكود سهل

ستجد ان عملية تغير المدى سهلة

وطبعا كل هذة الاكواد يقوم العداد بالعد فى الحالات الاتية :

1 - القيم العددية

2 -القيم النصية

3 - التواريخ

ولا يعمل فى حالة القيم الغير مباشرة

تحياتى

Counter.rar

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

السلام عليكم

شكراااااا كثيرا لك وزادك الله فوق علمك علوما كثيرة

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

والسسلااام

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

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

أولا أحب أن أنوه على بعض مابقي عالقا من المطالب بخصوص إحصاء التغيرات الغير مباشرة التي يتجاهلها العداد مع غض النظر عن مسألة الأقساط بحيث يتم التعديل والتطوير على الملف counter2 الذي أرفقه أخونا الأستاذ المشرف " فلسطيني " وأداء للأمانة كنت في حديث معه على الماسنجر وطلب مني أنقل لكم سلامه وتحياته لجميع أعضاء المنتدى . فادعوا له ولجميع المسلمين الفرج وتسهيل الأمور .

* قبل الشروع في التعديل، حبذا لو تقرأون ماجاء في المشاركة رقم 15 من هذا الموضوع .

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

  • 1 month later...

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

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

المطلوب تطوير العداد الموجود في المرفق الأول من هذا الموضوع (counter2.rar) وذلك بمراعاة ماسبق وأن أشرت إليه في الإقتباسات والتي سوف أعيدها للتذكير :

كل خلية من المدى A1:A10 يتم احتساب عدد تغيراتها في المدى B1:B10

تماما مثل المثال الذي أرفقت على A1 و B1 لكني أريده يشمل المدى المذكور.

وأيضا

كذلك لايعمل إذا جعلنا A1 نتيجة لجمع خليتن هما A4+A5 فإنه عند تغيير أحدهما تتغيرالنتيجة

في A1 ولكن للأسف لا يتغير العداد في B1 . ـ

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

تحياتي

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

  • 3 weeks later...

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

رابط ذوصلة بالموضوع ، أحببت أن الفت النظر اليه، وبالأخص الأستاذين الفاضلين الأستاذ " tameromar " و الأستاذ " فلسطيني" :

http://www.officena.net/ib/index.php?showtopic=13479

تحياتي

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

زائر
هذا الموضوع مغلق.
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

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

Important Information