اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

يوسف عطا

05 عضو ذهبي
  • Posts

    1,754
  • تاريخ الانضمام

  • تاريخ اخر زياره

كل منشورات العضو يوسف عطا

  1. نسيت أن أقول لك أنه لا ينبغى أن يكون الملفان مفتوحان فحتى لو لم يكن الملفان مفتوحان سوياً فعندما ستفتح الملف الهدف ستظهر لك الرسالة وسيتم التحديث حتى ولو كان الملف الآخر مغلقاً أهم شئ أن تكون اسماء الملفات غير متكررة
  2. بص يا عزيزى الغالى صاحب الدار عند الرغبة فى ربط ملفين عن طريق المعادلات لابد من الموافقة على ويندو تحديث البيانات التى من المفترض أنها تظهر لك عند فتح ملف يكون مربوطاً بملف آخر ولتفعيل هذه الخاصية أنصحك بعمل الآتى 1. إفتح الملفين المصدر الذى به الداتا الأصلية والهدف الذى يحدث البيانات 2. كليك يمين على علامة تبويب الصفحة التى تعدل فيها البيانات ثم إختار نسخ أو نقل وضع علامة فى التشيك بوكس لنسخ الشيت وإختار الملف الهدف لنقل نسخة من الشيت 3. قم بربط الخلايا فى الملف الهدف بخلايا الشيت الذى نسخته من الملف المصدر الذى يحتوى على المعادلات 4. كلما تقوم بتعديل الملف المصدر ثم تفتح الملف الهدف ستظهر لك ويندو تسألك إن كنت ترغب فى تحديث البيانات وافق على الرسالة وإن شاء الله ستعمل معك هذه الطريقة
  3. الملف المرفق لتنفيذات سوق الأسهم وستكون الأعمدة كما يلى العمود الأول عمود إسم السهم العمود الثانى عمود السعر العمود الثالث عمود الكمية العمود الرابع عمود الوقت المطلوب هو بالعمود الخامس معادلة مجموع الكمية فى نفس السهم على نفس السعر بالعمود السادس معادلة مجموع الكمية فى نفس السهم فى نفس الوقت عشمى أن تكون فكرتى وصلت ونظراً لأن المعادلات تجعل الملف غاية فى الثقل لدرجة أنى أنتظر أكثر من 5 دقائق وأكثر حتى يبدأ الملف فى الإستجابة والعمل فالرجاء أن يكون الحل بالأكواد علماً بأن البيانات ستكون فى حوالى 40 ألف صف وربما أكثر مع جزيل شكرى لكل من سيدلى بدلوه فى الموضوع أخوتى الكرام سوق.rar
  4. بداية أستأذنكم فى التغيب عن المنتدى لمدة إسبوع أو عشرة ايام فحتى نلتقى لكم أرق التمنيات كود إستخراج الأوائل وشرحه إنسخ الكود فى موديول وإستخدم أى زر يعجبك لتشغيل الكود Sub أوائل() ' ' أوائل ' الماكرو مسجل ‎25/07/2012 بواسطة ‎يوسف عطا يوسف ' ' 'السطر التالى يحدد النطاق الذى يحتوى على بيانات الطلاب ودرجاتهم Range("C11:F2000").Select 'الأسطر التالية تقوم بفرز النطاق بمعيار المجموع فرزاً تنازلياً لترتيب الطلاب Selection.Sort Key1:=Range("E11"), Order1:=xlDescending, Header:=xlNo, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal 'السطر التالى يقوم بتحديد النطاق الذى فيه العشرة الأوائل بترتيبهم Range("C11:F20").Select 'السطر التالى لنسخ النطاق السابق Selection.Copy Range("J11").Select 'الأسطر التالية تقوم بلصق قيم النطاق السابق فى جدول الأوائل بدءاً من الخلية فى السطر السابق Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False 'الأسطر التالية تقوم بإعادة ترتيب الطلاب وفقاً لأرقام جلوسهم تصاعدياً Range("C11:F2000").Select Application.CutCopyMode = False Selection.Sort Key1:=Range("C11"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal 'لتحديد أى خلية خارج نطاق البيانات Range("A1").Select End Sub معادلة ترتيب جميع الطلاب توضع فى الخلية F11 ثم تسحب حتى F2000 =IF(COUNTIF($E$11:E11;E11)>=2;RANK(E11;$E$11:$E$2000;0)&" "&"مكرر";RANK(E11;$E$11:$E$2000;0)) العمود A خالى العمود B للمسلسل العمود C لرقم الجلوس العمود D للإسم العمود E للمجموع الكلى العمود F للمعادلة الترتيب التكرارى السابقة رؤوس الأعمدة فى السطر 10 وبداية البيانات من السطر 11 حتى 2000
  5. كود إستخراج الأوائل وشرحه إنسخ الكود فى موديول وإستخدم أى زر يعجبك لتشغيل الكود Sub أوائل() ' ' أوائل ' الماكرو مسجل ‎25/07/2012 بواسطة ‎يوسف عطا يوسف ' ' 'السطر التالى يحدد النطاق الذى يحتوى على بيانات الطلاب ودرجاتهم Range("C11:F2000").Select 'الأسطر التالية تقوم بفرز النطاق بمعيار المجموع فرزاً تنازلياً لترتيب الطلاب Selection.Sort Key1:=Range("E11"), Order1:=xlDescending, Header:=xlNo, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal 'السطر التالى يقوم بتحديد النطاق الذى فيه العشرة الأوائل بترتيبهم Range("C11:F20").Select 'السطر التالى لنسخ النطاق السابق Selection.Copy Range("J11").Select 'الأسطر التالية تقوم بلصق قيم النطاق السابق فى جدول الأوائل بدءاً من الخلية فى السطر السابق Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False 'الأسطر التالية تقوم بإعادة ترتيب الطلاب وفقاً لأرقام جلوسهم تصاعدياً Range("C11:F2000").Select Application.CutCopyMode = False Selection.Sort Key1:=Range("C11"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal 'لتحديد أى خلية خارج نطاق البيانات Range("A1").Select End Sub معادلة ترتيب جميع الطلاب توضع فى الخلية F11 ثم تسحب حتى F2000 =IF(COUNTIF($E$11:E11;E11)>=2;RANK(E11;$E$11:$E$2000;0)&" "&"مكرر";RANK(E11;$E$11:$E$2000;0))
  6. ياريت حد من إخوتنا الخبراء يدمج كل هذه الأكواد فى ملف واحد بنفس الطريقة إللى إتعمل بيها ملف حقيبة الأكواد المرفقة أو مكتبة الأكواد أو محفظة الأكواد وبصرف النظر عن التسمية فهى فعلاً تختصر جزء كبير من وقت المستخدم عند البحث عن كود وإسمحوا لى أن اقترح تفعيل الجزء الخاص بالتعليمات فى كل الأكواد أو معظمها للتيسير والتسهيل على الكثيرين مثلى حيث كثيراً ما أتسائل عن حدث وضع الكود وتعليمات تشغيله ولو معها شرح لبعض الأسطر الصعبة فى الكود يكون الموضوع غاية فى الروعة مرفق الملف محفظة اكواد_النسخة1.rar
  7. كل عام وأنت بخير أخى الغالى محمود استاذنا القدير خبور خير قام بعمل ملف مشابه منذ ما يزيد على العامين فهل هو نفس الملف أم مختلف عنه ؟؟ أم أنك لم ترى ملف استاذنا خبور خير ستجده على الرابط التالى http://www.officena.net/ib/index.php?showtopic=32810&st=0
  8. أخى الغالى بن علية المعادلتان ممتازتان وتعملان تمام التمام ولكن الملف يصبح ثقيل جداً جداً خاصة بعد وضع بيانات فى 5 أو 6 آلاف صف للتذكرة المعادلتان هما كالتالى معادلة الوقت نفسه =IF(COUNTIF($C$2:$C2;$C3)>=1;"";SUMPRODUCT(($C$3:$C$65001=$C3)*($B$3:$B$65001))) معادلة السعر نفسه =IF(COUNTIF($A$2:$A2;$A3)>=1;"";SUMPRODUCT(($A$3:$A$65001=$A3)*($B$3:$B$65001))) المطلوب تحويل المعادلتان إلى أكواد وتعمل فى العمودان D & E من السطر الثالث وحتى نهاية العمود وطلبى التالى أكثر أهمية وهو مرتبط بالطلب الأول وقد يغنى عنه المعادلتان السابقتان تعملان على سهم واحد المطلوب أن تصلح للعمل على العديد من الأسهم أى سيكون هناك عمود إضافى لاسماء الأسهم وستكون الأعمدة كما يلى العمود الأول عمود إسم السهم العمود الثانى عمود السعر العمود الثالث عمود الكمية العمود الرابع عمود الوقت المطلوب هو بالعمود الخامس معادلة مجموع الكمية فى نفس السهم على نفس السعر بالعمود السادس معادلة مجموع الكمية فى نفس السهم فى نفس الوقت عشمى أن تكون فكرتى وصلت ونظراً لأن المعادلات تجعل الملف غاية فى الثقل لدرجة أنى أنتظر أكثر من 5 دقائق وأكثر حتى يبدأ الملف فى الإستجابة والعمل فالرجاء أن يكون الحل بالأكواد علماً بأن البيانات ستكون فى حوالى 40 ألف صف وربما أكثر مع جزيل شكرى لكل من سيدلى بدلوه فى الموضوع أخوتى الكرام سوق.rar
  9. الأخ المحترم أحمد بك حجازى تحية لك الكود المرفق للاستاذ العلامة خبور خير وهو يقوم بترحيل الأعمدة من 1 إلى 40 من السطر رقم 11 إلى السطر رقم 3000 يمكنك بسهولة إختيار الأعمدة التى تريد ترحيلها سواء بالإضافة أو الحذف للجمل المتكررة فى الكود كما يمكنك تعديل أرقام الاسطر حسب ما تريد معيار الترحيل فى العمود الأول لابد من وجود شيتات مسماه بنفس الأسماء الموجودة فى الخلايا الموجودة فى العمود الأول (معايير الترحيل) ليتم ترحيل كل سطر إلى الشيت المناسب له ولو أرفقت ملف تكون مساعدتك أسهل Sub Khboor_Tarheel() '============================================= ' الية الكود بعد الترحيل يقوم بمسح البيانات التي تم ترحيلها On Error Resume Next Application.ScreenUpdating = False For a = 11 To [a3000].End(xlUp).Row If Cells(a, 1) <> "" Then MySheets = Cells(a, 1) With Sheets(MySheets).[a3000].End(xlUp) .Offset(1, 0) = Cells(a, 1) .Offset(1, 1) = Cells(a, 2) .Offset(1, 2) = Cells(a, 3) .Offset(1, 3) = Cells(a, 4) .Offset(1, 4) = Cells(a, 5) .Offset(1, 5) = Cells(a, 6) .Offset(1, 6) = Cells(a, 7) .Offset(1, 7) = Cells(a, 8) .Offset(1, 8) = Cells(a, 9) .Offset(1, 9) = Cells(a, 10) .Offset(1, 10) = Cells(a, 11) .Offset(1, 11) = Cells(a, 12) .Offset(1, 12) = Cells(a, 13) .Offset(1, 13) = Cells(a, 14) .Offset(1, 14) = Cells(a, 15) .Offset(1, 15) = Cells(a, 16) .Offset(1, 16) = Cells(a, 17) .Offset(1, 17) = Cells(a, 18) .Offset(1, 18) = Cells(a, 19) .Offset(1, 19) = Cells(a, 20) .Offset(1, 20) = Cells(a, 21) .Offset(1, 21) = Cells(a, 22) .Offset(1, 22) = Cells(a, 23) .Offset(1, 23) = Cells(a, 24) .Offset(1, 24) = Cells(a, 25) .Offset(1, 25) = Cells(a, 26) .Offset(1, 26) = Cells(a, 27) .Offset(1, 27) = Cells(a, 28) .Offset(1, 28) = Cells(a, 29) .Offset(1, 29) = Cells(a, 30) .Offset(1, 30) = Cells(a, 31) .Offset(1, 31) = Cells(a, 32) .Offset(1, 32) = Cells(a, 33) .Offset(1, 33) = Cells(a, 34) .Offset(1, 34) = Cells(a, 35) .Offset(1, 35) = Cells(a, 36) .Offset(1, 36) = Cells(a, 37) .Offset(1, 37) = Cells(a, 38) .Offset(1, 38) = Cells(a, 39) .Offset(1, 39) = Cells(a, 40) End With End If ' If Sheets("ورقة1").Cells(a, "a") > "" Then Cells(a, 3).Resize(1, 4).Value = "" ' اذا اردت مسح البيانات بعد الترحيل حفز هذا السطر Next a Application.ScreenUpdating = True MsgBox "!تم الترحيل بنجاح", vbInformation + vbMsgBoxRight, "تم الترحيل" Range("a1").Select On Error Resume Next On Error GoTo 0 End Sub
  10. دقايق وإن شاء الله أرفق لك واحدة كنت أستخدمها منذ عدة سنوات بس أدور عليها لأنى غيرت الكمبيوتر أكتر من مرة ويارب ألاقيها
  11. الحل من وجهة نظرى أن تتم عملية الفرز بكود وزر تنفيذ وليس عن طريق أوامر الإيكسيل على أن يتم إدراج كود إلغاء الحماية قبل تنفيذ كود الفرز وكود إعادة الحماية بعد تنفيذ كود الفرز ولو أدرجت ملف نستطيع بعون الله أن ننفذ لك هذا الأمر
  12. الله ينور عليك يا استاذ رجب هذا هو المطلوب بالفعل
  13. مشكور محمود بك ولكن للأسف كل هذه المحاولات والحلول لم تسعفنى للوصول لما أريد فكما ذكرت سابقاً المطلوب إيجاد الاسماء المتشابهه للتأكد من كونها هل هى مكررة فعلاً مع وجود فرق فى الكتابة أم هى اسماء مختلفة مثلاً دنيا عبدالحميد حسني هى نفسها دينا عبد الحميد حسنى ولكنها مرة مكتوبة دنيا ومرة مكتوبة دينا إسم ابوها مرة مكتوب عبدالحميد بدون مسافة ومرة مكتوب عبد الحميد بمسافة وإسم جدها مرة مكتوب حسني بنقطتان تحت الياء ومرة مكتوب حسنى بدون نقط تحت الياء طبعاً ربما تكون هناك طالبتان دنيا ودينا وربما هما أختان وهذا لا يهم وربما هما نفس الطالبة ولكنها كتبت مرتين لأن من قرأ الإسم من الكشوف اليدوية قرأها مرة دينا ومرة دنيا المطلوب أن يقوم الكود المطلوب بتظليل الخليتان حتى نتأكد من وضع هذه الأسماء تماماً والأمثلة على هذه الأخطاء كثيرة أمنية وأمينة رحمة ورحمه أميرة واميرة ندى وندا وغيرها علماً بأن القائمة تصل عدد الاسماء فيها إلى 1500 تقريباً ولكن قد يكون هذا الطلب من ضرب الخيال لأنى أطلب من الإيكسيل أن يستخرج خطأ يدوى وهو ليس بالضرورة خطأ أعتذر لو كنت قد اضعت وقتكم الغالى ولكم تحياتى
  14. وتقبل الله منك يا استاذنا وكل عام وأنت بخير وأنت بخير يا أخونا الغالى وبعودة الأيام ربنا يوفقك يا استاذ مجدى فى كل أعمالك ونتمنى أن نراك بإستمرار تنور صفحات منتدانا العامر
  15. بالفعل يا أخى عبدالله الأستاذ محمود دائم السعى لمساعدة الآخرين ربنا يجعل أعماله فى موازين حسناته
  16. محمود بك جربت المعادلة التالية فى التنسيق الشرطى بإستخدام الصيغة ولكنها لم تظلل إلا الخلايا المتطابقة فقط =COUNTIF(INDEX(myrng;0;COLUMN()-1);F64726)>1 أتعشم أن ترفق لى معادلة ليفت ومنكم نستفيد يا برنس وكل سنة ونت طيب
  17. فى الملف المرفق 3 أكواد لطباعة الشهادات كل ورقة بها 3 شهادات الكود الأول لطباعة جميع الشهادات ويعمل جيداً الكود الثانى لطباعة الـ 3 شهادات متتالية التى أمامنا على المونيتور والمحددة أول شهادة فيهم بالرقم المسلسل فى الخلية K3 ويعمل جيداً الكود التالت وهو الذى يحتاج تعديل يطبع مدى أو نطاق معين من الصفحات محدد بخليتين P2 و Q2 وهو يطبع الشهادات ليس حسب مسلسلها ولكن حسب رقم صفحاتها وكما قلت الصفحة بها 3 شهادات ولذلك مثلاً فعندما أدخل فيه المدى من 11 إلى 15 فهو يطبع الشهادات من مسلسل 31 إلى 45 ولذلك فلكى أطبع مدى معين من الشهادات لابد أن أحسب أرقام صفحات هذه الشهادات وهذا أمر مرهق خاصة فى حالة طباعة العديد من الشهادات المطلوب تعديل الكود الثالث المسمى طبع من _ إلى ليطبع مدى محدد بمسلسل الشهادات وليس برقم الصفحات أى عندما أضع فى الخليتان P2 و Q2 أرقام 31 و 45 يطبع الشهادات من 31 إلى 45 أى يطبع الـ 5 صفحات من 11 إلى 15 أتعشم أن يكون طلبى واضحاً شهادات ناجحات 2 د 2.rar
  18. تحويل التاريخ الميلادى إلى هجرى بيتم حسب عمليات حسابية أهمها الآتى 1. السنة الميلادية تزيد عن السنة الهجرية بـ 11 يوم 2. لا يأتى شهران هجريان متتاليان 30 يوم وبناء عليه فعملية التحويل عن طريق الحسابات فقط قد تعطى فارق يوم واحد عند التحويل فى بعض الشهور وقد لا يظهر الفرق فى بعض الشهور الأخرى الحل من وجهة نظرى هو ربط هذه العملية عن طريق كود معين بتاريخ جهاز الكمبيوتر علماً وأنه فى هذه الحالة لابد أن يتم ضبط الكمبيوتر على التاريخ الهجرى والله أعلم
  19. الفكرتان ذكيتان ولكنهما لا يحققا المطلوب يا استاذ محمود على كل حال مشكور على المشاركة فى الموضوع
  20. كل سنة ونت طيب يا أستاذ مجدى وأنت بالصحة والسلامة يا استاذ عباس مشكور يا استاذ يوسف وأنت بالصحة والسلامة يا أستاذ كريم وتقبل منك يا أخى الغالى ذيب اليمن ربنا ما يحرمنا منك يا استاذ جمال
  21. أخى الغالى أبو حنين للأسف لم يعمل الكود إلا عندما تطابقت البيانات المتكررة ولكن لو إختلف إسم عن إسم بهمزة فوق أو تحت الألف أو بمسافة بين عبدالحميد و عبد الحميد لا يقوم الكود بالتلوين المطلوب لو أمكن أن يقوم الكود بتلوين الخلايا المتشابهة ايضاً وليست المتطابقة فقط أى إذا تشابهت 10 أحرف أو 15 حرف فى خليتين يقوم الكود بتلوينهما حتى نتأكد أنهما ليسا نفس الإسم مع إختلاف طريقة الكتابة ولك خالص الشكر
×
×
  • اضف...

Important Information