salman a قام بنشر أغسطس 26, 2006 قام بنشر أغسطس 26, 2006 السلام عليكم مرفق ملف به ماكرو محدد للخلايا في الصف 3 المطلوب جعله يعمل بطريقة LOOP علي الصف 2 حتى الصف 15 أي تكرار الماكرو على خلايا اخرى وبصفوف 2 __ 15 LOOP.zip
salman a قام بنشر أغسطس 27, 2006 الكاتب قام بنشر أغسطس 27, 2006 (معدل) السلام عليكم إخواني الكود يعمل كلما تم التغير في الخلية E2 المطلوب أنه كلما حدث تغير في الخلية E2 أو E3 أو 3 E حتى E15 يتم عمل الكود عند أي تغير في أرقام أحد الخلايا من E2 حتي E15 تحياتي >>><<<< LOOP.zip تم تعديل أغسطس 27, 2006 بواسطه salman a
نزار سليمان عيد قام بنشر أغسطس 28, 2006 قام بنشر أغسطس 28, 2006 الاخ Samhan a مرفق لك الملف ولكن بتكرار الشرط نفسه فهل يفي هذا بالغرض وشكرا LOOP.zip
salman a قام بنشر أغسطس 28, 2006 الكاتب قام بنشر أغسطس 28, 2006 السلام عليكم Nse شاكر لك فضلك جاري تجربة الملف
halwim قام بنشر سبتمبر 30, 2006 قام بنشر سبتمبر 30, 2006 السلام عليكم ورحمة الله وبركاته أخي العزيز Nse أعجبتني فكرة عمل الكود ، وسبق لي طرح موضوع مماثل لهذا الموضوع ولكن لي عليه ملاحظات بخصوص عدم إحصائه التغيرات الغير مباشرة أو الناجمة عن تغير ذاتي كاتاريخ مثلا ، يعني لا أريده فقط يحصي التغير الناتج عن التغيير اليدوي ثم ضغط زر الإدخال enter ، المطلوب أن يكون شاملا لكل تغير مع غض النظر عن مصدرذلك التغير،......... أرجو من جنابك الكريم زيارة الرابط التالي : http://www.officena.net/ib/index.php?s=&am...ost&p=59305 تحياتي
علي السحيب قام بنشر أكتوبر 3, 2006 قام بنشر أكتوبر 3, 2006 (معدل) الأخوان halwim و Nse و Salman a .. إذا سمحتوا لي: الكود الذي أرفقه الأخ Nse .. يعمل بشكل ممتاز .. ولكنه طويل بعض الشيء وبإمكاننا إختصاره ليصبح بالشكل التالي: Private Sub Worksheet_Change(ByVal Target As Range) TA = Target.Address If TA = "$E$2" Then [C2] = [C2] + [A2] If TA = "$E$3" Then [C3] = [C3] + [A3] If TA = "$E$4" Then [C4] = [C4] + [A4] If TA = "$E$5" Then [C5] = [C5] + [A5] If TA = "$E$6" Then [C6] = [C6] + [A6] If TA = "$E$7" Then [C7] = [C7] + [A7] If TA = "$E$8" Then [C8] = [C8] + [A8] If TA = "$E$9" Then [C9] = [C9] + [A9] If TA = "$E$10" Then [C10] = [C10] + [A10] If TA = "$E$11" Then [C11] = [C11] + [A11] If TA = "$E$12" Then [C12] = [C12] + [A12] If TA = "$E$13" Then [C13] = [C13] + [A13] If TA = "$E$14" Then [C14] = [C14] + [A14] If TA = "$E$15" Then [C15] = [C15] + [A15] End Sub وبإمكاننا أيضاً إختصار الكود السابق بشكل أكبر ليصبح هكذا: Private Sub Worksheet_Change(ByVal Target As Range) TR = Target.Row TC = Target.Column If TC = 5 And TR > 1 And TR <= 15 Then _ Range("C" & TR) = Range("C" & TR) + Range("A" & TR) End Sub أتمنى أن يستفيد الجميع من هذه التعديل، LOOP.rar تم تعديل أكتوبر 4, 2006 بواسطه علي السحيب
halwim قام بنشر أكتوبر 4, 2006 قام بنشر أكتوبر 4, 2006 السلام عليكم أستاذ علي السحيب .... شكرا كثيرا لك أرجو التعديل على الملف المرفق ؛ وحتى لوأجريتم التعديل على الكود الذي أرفقه الأخ Nse فلامانع، ...... المهم مراعاة الملاحظات التي رصدتها في المرفق التالي : تحياتي RE_counter.rar
علي السحيب قام بنشر أكتوبر 4, 2006 قام بنشر أكتوبر 4, 2006 تم عمل جميع التعديلات المطلوبة على الملف المرفق، فأصبح الكود الخاص بالصفحة هو: Private Sub Worksheet_Change(ByVal Target As Range) TC = Target.Column TR = Target.Row If TR = 4 Or TR = 10 Then Exit Sub If TC = 1 And TR > 1 And TR <= 10 Then Cells(TR, 2) = Cells(TR, 2) + 1 If TC = 10 And TR > 1 And TR < 30 Then [B10] = [B10] + 1 End Sub وتم إضافة كود آخر يعمل عند فتح الملف .. وهو يعمل على إدخال التاريخ في الخية A4 .. وزيادة العدد في الخلية B4 إذا كان التاريخ المُدخل يختلف عن الموجود مسبقاً. Private Sub Workbook_Open() Dim DiffDays As Long OldDate = [A4] [A4] = Date DiffDays = DateDiff("d", OldDate, [A4]) [B4] = [B4] + DiffDays End Sub _______________________.rar
halwim قام بنشر أكتوبر 5, 2006 قام بنشر أكتوبر 5, 2006 بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاته ...... أولا : أقدم الشكر كل الشكر لمشرفنا القدير، الأستاذ علي السحيب على ما قدم ويقدمه من جهود جبارة ،،،،، يعجز اللسان عن شكركم على هذا الإهتمام بأسئلتنا، سواء كانت سهلة أومعقدة مرة أخرى أشكرك . ثانيا : بالنسبة لعداد التاريخ الموجود في الخلية (B4) اكتشفت أنه لايعتمد على تغيرات الدالة NOW() وعندما حاولت إدراجها في الخلية (A4) أو إدراج دالة تاريخية أخرى لا يقبل ذلك ،فإنه إذا حفظت الملف وخرجت ثم فتحت الملف من جديد أرى أن مفعول الدالة ينتهي ولا وجود لها في شريط الصيغة. ثالثا : وهو الأهم ، بالنسبة لعداد المبالغ الموجود في الخلية (B10) اكتشفت أنه لا يعتمد على تغيرات خلية مجموع المبالغ وهي (A10) وعندما أزلت معادلة sum الموجودة بداخلها، لا يزال العداد رغم ذلك يعمل فبعد ادخال مبلغ جديد في العامود (J) يزداد العداد وهذا يعني أن التغير المحتسب في العداد ليس مصدره التغير الغير مباشر في (A10) والمطلوب هواحتساب التغيرات الغير مباشرة في (A10) كما إذا تغيرت بسبب زيادة مجموع المبالغ، وليس بسبب إدخال المبلغ في العمود (J) أتقد وضحت الفكرة ؟ في انتظار التعديل على هاتين الملا حظتين ........ وشكرا تحياتي
علي السحيب قام بنشر أكتوبر 5, 2006 قام بنشر أكتوبر 5, 2006 بالنسبة لعداد التاريخ الموجود في الخلية (B4) اكتشفت أنه لايعتمد على تغيرات الدالة NOW() وعندما حاولت إدراجها في الخلية (A4) أو إدراج دالة تاريخية أخرى لا يقبل ذلك ،فإنه إذا حفظت الملف وخرجت ثم فتحت الملف من جديد أرى أن مفعول الدالة ينتهي ولا وجود لها في شريط الصيغة. أود أولاً أن أعطيك معلومة صغيرة .. وهي أن الكود يعمل فقط عندما يكون التغيير يدوياً وليس عن طريق الدوال كالدالة Now وغيرها من الدوال التي تتحدث بشكل يومي .. وهذا ما أضطرني إلى إضافة كود آخر إلى الكود الأساسي .. فإني جعلت إدراج التاريخ في الخلية A4 .. يتم عن طريق الكود أثناء فتح الملف .. وهو يعمل بشكل أفضل من الدالة NOW.. مثلاً لو أغلقت يوم الأربعاء بتاريخ 04/11/2006 وعدد مرات التغيير في الخلية B4 هو 11 .. ولم تفتح الملف إلا يوم السبت القادم .. فستجد أن التاريخ الموجود في الخلية B4 هو تاريخ يوم السبت وهو 07/11/2006 .. وعدد مرات التغيير هو 14 .. أي أنه قام بإحتساب عدد الأيام التي لم تفتح فيها الملف (2) واليوم الذي فتحت الملف فيه (1) .. وأضاف الثلاثة أيام إلى 11 فأصبحت 14 .. أليس هذا هو ماتريد؟؟ بالنسبة لعداد المبالغ الموجود في الخلية (B10) اكتشفت أنه لا يعتمد على تغيرات خلية مجموع المبالغ وهي (A10) وعندما أزلت معادلة sum الموجودة بداخلها، لا يزال العداد رغم ذلك يعمل فبعد ادخال مبلغ جديد في العامود (J) يزداد العداد وهذا يعني أن التغير المحتسب في العداد ليس مصدره التغير الغير مباشر في (A10) والمطلوب هواحتساب التغيرات الغير مباشرة في (A10) كما إذا تغيرت بسبب زيادة مجموع المبالغ، وليس بسبب إدخال المبلغ في العمود (J) أعتقد وضحت الفكرة ؟ نفس الجواب بالنسبة لطريقة عمل الدوال مع الأكواد المشروح في الإجابة الأولى .. ينطبق على هذه الحالة أيضاً ولتوضيح الفكرة أكثير .. وأود أن أسألك بعض الأسئلة أليس التغير في الخلية A10 .. يعتمد على التغير في مجموع خلايا العمود J؟؟ أيضاً أليس تغير العدد في الخلية B10 .. يعتمد على التغير في الخلية A10 .. ؟؟ إذاً خلايا العمود J والخلية A10 والخلية B10 .. مرتبطين ببعضهم البعض .. أليس كذلك؟؟ وبما أن التغيير لن يتم إلا على خلايا العمود J .. فإني جعلت التغير في الخلية B10 .. يعتمد على أي تغير في خلايا العمود J. أتمنى أن تكون إجابتي واضحة ومفهومة ..
halwim قام بنشر أكتوبر 6, 2006 قام بنشر أكتوبر 6, 2006 السلام عليكم شكرا على توضيحاتكم الشافية.. أليس التغير في الخلية A10 .. يعتمد على التغير في مجموع خلايا العمود J؟؟ نعم ولكن ليس بالدقة فربما يتحرك العداد بناء على تحرير خلية في العمود J وهذا يحدث كما لوكنت غافلا ومسحت رقم من العمود J وعدت لكتابته مرة أخرى فإن مجموالمبلغ لم يتغير والعداد قد تغير في هذه الحالة . أيضاً أليس تغير العدد في الخلية B10 .. يعتمد على التغير في الخلية A10 .. ؟؟ أعتقد أن الإشكال السابق يشمل هذه الحالة أيضا . وبما أن التغيير لن يتم إلا على خلايا العمود J .. فإني جعلت التغير في الخلية B10 .. يعتمد على أي تغير في خلايا العمود J. وهذا هو أهم شيء وقد استفدت منه كثيرا ولكن أحببت أن أجد حلا مبتنيا على المجموع بماهو مجموع . أود أولاً أن أعطيك معلومة صغيرة .. وهي أن الكود يعمل فقط عندما يكون التغيير يدوياً وليس عن طريق الدوال كالدالة Now وغيرها من الدوال التي تتحدث بشكل يومي بعد معرفتي لهذه المعلومة حصلت لي قناعة عن بعض الأمور المستعصية من قبل . شكرا كثيرا لك تحياتي
halwim قام بنشر أكتوبر 7, 2006 قام بنشر أكتوبر 7, 2006 عفوا ..... الرد على التعليق الأول في مشاركتكم السابقة، حول إحصاء عدد مرات التغيير أو عدد (الأيام) المنصرمة ابتداء من أول يوم فتحنا فيه الملف ، نعم هذا هو المطلوب . ولي طلب ، الغرض منه مراقبة الموظف المكلف بهذ الملف ، وذلك بمعرفة عدد مرات فتحه للملف مع غض النظر عن التاريخ ، فمثلا لو كان الرقم (1) في الخلية B5 (وهي خلية العداد) وقد فتح الموظف الملف عشر مرات سواء في يوم واحد أو حتى في ساعة واحدة أو خلال خمسة أيام، المهم يخرج عدد مرات فتح الملف في خلية العداد (B5) لكي يصبح الرقم فيها (11) نظرا لفتح الملف عشر مرات + واحد الموجود من البداية. أو يصبح الرقم في العداد (10) في حال تم تصفير العداد قبل استخدام الموظف . أتمنى أن ترفقون هذه الإضافة مع مرفقكم الأخير. أخيرا اسمحوا لي على الإطالة ودمتم . تحياتي
halwim قام بنشر أكتوبر 7, 2006 قام بنشر أكتوبر 7, 2006 (معدل) أستاذنا الفاضل ،،،، أباحسين شكرا شكرا شكرا ، أدعوا لك من الأعماق بالتوفيق والسعادة . أستذ علي لدي سؤال وأحس اني أتعبتكم كثير ..... كما تعلمون إذا وضعت الماوس على أي ملف في الوندوز واخترت خصائص بالزرالأ يمن تخرج لك معلومات وهي 1 - تاريخ الإنشاء 2 - تاريخ التعديل 3 - تاريخ الوصول المطلوب وضع هذه المعلومات في ملف إكسل وليكن مكان ذلك الخلية A6 و A7 و A8 من المرفق مثلا وأهم شيء هو تاريخ آخر استخدام أو آخر حفظ أوآخر فتح للمف ، يعني التاريخ المطلوب هوتاريخ آخر فتح للملف وليس آخر استخدام لخلية معينة . هل يمكن ذلك ؟ تحياتي و شكرا تم تعديل أكتوبر 7, 2006 بواسطه halwim
halwim قام بنشر أكتوبر 8, 2006 قام بنشر أكتوبر 8, 2006 أرجو التكرم بالمرور .......... والسلام عليكم ورحمة الله وبركاته
halwim قام بنشر أكتوبر 9, 2006 قام بنشر أكتوبر 9, 2006 السلام عليكم ورحمة الله وبركاته شكرا لك أستاذي الفاضل .... أباحسين المرفق الأخير روعة يلبي كثير مما أنشده ولكن لي عليه بعض الملاحظات كما يلي : أولا : لم أرى مكان في عمود B لتاريخ إنشاء الملف، كما في خصائص وندوز . ثانيا : ما المقصو بعدد مرات التحديث في A3 لم أرى تغير في العداد بالخلية C3 ؟ ثالثا : هل بمقدوركم جعل التواريخ في عمود c بحيث يخرج مع التاريخ الوقت ؛ الساعة والدقيقة والثانية نظرا لكون التغيرات تحدث خلال 24 ساعة . رابعا : بالنسبة للعمود B أرجو ملاحظ مايلي : هل هناك فرق بين تاريخ B4 و B7 خامسا : بالنسبة للعدادات في عمود C أرجو ملاحظة مايلي : أعتقد أن جميع العدادات المتعلقة بالتواريخ في عمود c متشابهه وتعمل بطريقة واحدة إلا العداد الموجود في c4 أليس كذلك ؟ حيث لم ألمس فرقا بين عداد c6 و c7 و c8 مع أن المفروض أن يتم تحديث عداد c7 بمجرد الوصول وإن لم يتم تحديث للصفحة. ثم مالفرق بين عداد الخليتين c2 و c9 أخيرا أرجو السماح والمعذرة على التطويل .
علي السحيب قام بنشر أكتوبر 10, 2006 قام بنشر أكتوبر 10, 2006 (معدل) أولا : لم أرى مكان في عمود B لتاريخ إنشاء الملف، كما في خصائص وندوز . تم الإضافة، ثانيا : ما المقصو بعدد مرات التحديث في A3 لم أرى تغير في العداد بالخلية C3 ؟ أي أنك عندما تذهب لصفحة أخرى وترجع للصفحة الأولى سوف يتم زيادة العدد الموجود في C3 بمقدار 1 .. (يحسب عدد مرات وقوفك على هذه الصفحة) .. ولذلك قمت بإضافة صفحة جديدة لتجربة ذلك. هل بمقدوركم جعل التواريخ في عمود c بحيث يخرج مع التاريخ الوقت ؛ الساعة والدقيقة والثانية نظرا لكون التغيرات تحدث خلال 24 ساعة . تم عمل ذلك، رابعا : بالنسبة للعمود B أرجو ملاحظ مايلي : هل هناك فرق بين تاريخ B4 و B7 لا أعتقد ذلك .. لأن كلاهما يعطي تاريخ اليوم الذي تم فيه فتح الملف .. ويمكنك مراجعة الكود إذا أحببت. خامسا : بالنسبة للعدادات في عمود C أرجو ملاحظة مايلي : أعتقد أن جميع العدادات المتعلقة بالتواريخ في عمود c متشابهه وتعمل بطريقة واحدة إلا العداد الموجود في c4 أليس كذلك ؟ حيث لم ألمس فرقا بين عداد c6 و c7 و c8 مع أن المفروض أن يتم تحديث عداد c7 بمجرد الوصول وإن لم يتم تحديث للصفحة. - العداد الخاص بعدد مرات تحديث الصفحة يتحدث بمجرد الإنتقال إلى صفحة أخرى والرجوع إلى نفس الصفحة. - العداد الخاص بعدد مرات فتح الملف وتاريخ آخر وصول .. يتحدثان مباشرة عند فتح الملف. - العداد الخاص بتاريخ آخر تعديل .. يتحدث عند حفظ الملف. ثم مالفرق بين عداد الخليتين c2 و c9 لا فرق بينهما .. ولكن الكود الذي يعمل عليهما يقوم بتجاهل الخلايا التي بينهما. _______________________.rar تم تعديل أكتوبر 10, 2006 بواسطه علي السحيب
علي السحيب قام بنشر أكتوبر 10, 2006 قام بنشر أكتوبر 10, 2006 المرفق يحتوي على كود يقوم بإخراج المعلومات الخاصة بالملف: 1- إسم الملف. 2- مساره. 3- إسم منشئه. 4- تاريخ ووقت إنشاءه. 5- تاريخ ووقت آخر وصول للملف. 6- تاريخ ووقت آخر تعديل على الملف. 7- إسم المستخدم الذي أدخل تعديلات على الملف. 8- إسم الشخص الذي تم آخر وصول من خلاله. أتمنى أن يحوز على إستحسانكم, Show_File_Access_Information.rar
halwim قام بنشر أكتوبر 11, 2006 قام بنشر أكتوبر 11, 2006 بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاته أخي العزيز أستاذ علي السحيب ، كلمات الشكر قليلة في حقك لأنك تبذل أكثر مما نطلب جزاك الله خير الجزاء وإذ يتطلب الأمر أحيانا التطويل في بعض المشاركات، يعلم الله أنه ليس بقصد إتعابكم ولكن من أجل الوصول بالفكرة إلى مرحلة النضوج والكمال وفي نفس الوقت التعلم ..... دعائي لك ولكل من بذل العلم بالتوفيق والتسديد من الله والوصول إلى التكامل إن شاء الله . يوجد عدة ملاحظات على المرفقين الأخيرين تم رصدها في المرفق التالي ، تحياتي
علي السحيب قام بنشر أكتوبر 11, 2006 قام بنشر أكتوبر 11, 2006 بالنسبة للملاحظات على الملف عدد مرات التغير في خلية: 1- التاريخ الذي ظهر لدي في الخصائص هو نفسه التاريخ الذي يظهر الخلية B6 .. كما في المرفق، 2- التحديث يتم بشكل طبيعي .. ولكن لا تنسى أن تقوم بحفظ الملف قبل الخروج منه لكي يتم حفظ التحديثات. 3- عند خروج الرسالة التي تحدث عنها إضغط على Debug .. وإنسخ السطر المضلل باللون الأصفر وضعه هنا لكي يتم التعرف على السبب. أرجوا من الأخوان الذي أطلعوا على المرفقات أن يبدوا رأيهم .. لكي يتبين الخلل بالضبط إن وجد. بالنسبة للملاحظات على الملف Show File Access Information: 1- جميع التواريخ تعمل معي بشكل طبيعي وممتاز وبدون إختلاف عن المعلومات الموجودة في نافذة الخصائي .. كما هو واضح في المرفق. 2- بالنسبة للزر الأول والثاني فإنهما يعملان بشكل طبيعي وممتاز .. وأرجوا ممن حمل المرفق أن يذكر لنا إذا كانت الأزرار تعمل معه أم لا .. أما بالنسبة للزر الثالث (معلومات ملف آخر على الجهاز) .. فلتشغيله يلزمك إنشاء ملف نص على القرص D .. بإسم New Text Document .. أو أي ملف آخر مع مراعاة تغيير مساره داخل الكود. 3- لا أعتقد ذلك .. أرجوا من الأخوان إبداء رأيهم. 4- يتم تحديث آخر وصول وآخر تعديل عند حفظ الملف .. ولكي ترى أن هناك فرق لاحظ تاريخ التعديل بعد فتح الملف مباشرة. 5- نفس الإجابة بالنسبة للملف الأول. __________________.rar
omar elhosseini قام بنشر أكتوبر 11, 2006 قام بنشر أكتوبر 11, 2006 بسم الله الرحمن الرحيم تحياتى للجميع الاستاذ علي السحيب تحياتى لك بالنسبة لرسالة الخطأ فهى لاتظهر معى واعتقد مع نسخة اكسيل بدون اى تعديلات بها لن تظهر هذة الرسالة . بالنسبة للملف السابق معلوماتة مطابقة تماما كما هو موضح بالصور وارجو ان تقبلوا اسهاما صغيرا منى بخصوص هذا الموضوع وهو عدد مرات فتح الملف ( الكود بالمرفقات ) تحياتى للجميع __________________.rar
halwim قام بنشر أكتوبر 11, 2006 قام بنشر أكتوبر 11, 2006 بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاته شكرا لكم جميعا ، وشكر خاص للأستاذ تامر على المشاركة الأخ العزيز أستاذ علي السحيب ، استكمالا للموضوع .... أرجو الإطلاع على مايلي ، ولعل بعض ملاحظاتي السابقة مرتبطة بالخلل الذي تشير إليه الرسالة على العموم ، عند خروج الرسالة التي تحدث عنها إضغط على Debug .. وإنسخ السطر المضلل باللون الأصفر وضعه هنا لكي يتم التعرف على السبب هذا هو السطر المضلل باللون الأصفر : Set f = fs.GetFile(fn) وهو نفسه يخرج عند فتح المفين المرفقين في المشاركتين رقم 18 و 19 تحياتي
علي السحيب قام بنشر أكتوبر 12, 2006 قام بنشر أكتوبر 12, 2006 لم يخرج معي أي خلل في الكود .. ربما المشكلة تكمن في نسخة الأوفيس أو الويندوز التي لديك.. على كل حال .. الرجاء من الأعضاء الكرام إبداء ملاحظاتهم حول هذا الخلل.
الردود الموصى بها