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

ياسر خليل أبو البراء

المشرفين السابقين
  • Posts

    13,165
  • تاريخ الانضمام

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

  • Days Won

    412

كل منشورات العضو ياسر خليل أبو البراء

  1. الأخت الكريمة رشا يرجى توضيح الطلب بشيء من التفصيل مع إرفاق بعض النتائج المتوقعة بالنسبة لمقدار الخصم هل هو نسبة مئوية أم أنه مبلغ ...؟؟ وهل العمل يقتصر على إداري ومعلم فقط .. ؟؟ وبالنسبة للمسميات يجب أن تنفق .. مدرس أم معلم ؟؟ ادراى أم إداري ... الدقة مطلوبة في إدخال البيانات في حالة إذا أردتي نتائج صحيحة
  2. نظام الويندوز 32 بت أو 64 بت اعمل كليك يمين على My Computer ثم Properties ستجد معلومات النظام وأيضاً هل نسخة الأوفيس 32 بت أو 64 بت ؟ دي إنت اللي تحددها لأنك إنت اللي مسطب الأوفيس
  3. الأخ الحبيب أبو يوسف إليك شرح الكود وإن شاء الله يكون مبسط وسهل إنك تتعامل معاه Sub Tarhil() 'تعريف المتغيرات Dim WS As Worksheet, SH As Worksheet Dim I As Long, X As Long 'تعيين أوراق العمل التي سيتم تنفيذ الكود عليها Set WS = Sheets("اليومية"): Set SH = Sheets("كشف حساب") 'تعيين قيمة للمتغير ليساوي 12 وهو يمثل أول صف في ورقة العمل المسماة كشف حساب لإدراج النتائج بها X = 12 'إلغاء خاصية اهتزاز الشاشة Application.ScreenUpdating = False 'مسح محتويات النطاق الذي سيتم إدراج النتائج به في ورقة العمل المسماة كشف حساب SH.Range("A12:F29").ClearContents 'حلقة تكرارية للصفوف في ورقة العمل المسماة اليومية For I = 11 To 68 'في ورقة العمل المسماة اليومية أكبر من أويساوي تاريخ البداية وأقل من أو يساوي تاريخ الانتهاء [L] إذا كان التاريخ في العمود 'يتم تنفيذ الأسطر التالية If CDate(WS.Cells(I, "L")) >= SH.Cells(7, "G") And CDate(WS.Cells(I, "L")) <= SH.Cells(8, "G") Then 'في ورقة العمل المسماة كشف حساب [D7] تساوي الاسم الموجود في الخلية [D] إذا كانت الخلية في العمود If WS.Cells(I, "D").Value = SH.Cells(7, "D").Value Then 'الخلية في العمود الأول في الصف المحدد تساوي رقم الصف - 11 ليتم تسلسل البيانات SH.Cells(X, "A").Value = SH.Cells(X, "A").Row - 11 'الخلية في العمود الثاني في الصف المحدد تساوي الخلية في العمود الرابع في ورقة العمل اليومية 'سطر يقوم بجلب اسم العميل SH.Cells(X, "B").Value = WS.Cells(I, "D").Value 'سطر يقوم بجلب التاريخ SH.Cells(X, "C").Value = WS.Cells(I, "L").Value 'سطر يقوم بجلب البيان أو اسم الصنف SH.Cells(X, "D").Value = WS.Cells(I, "G").Value 'سطر يقوم بجلب إجمالي المبيعات أو المدين SH.Cells(X, "E").Value = WS.Cells(I, "M").Value 'سطر يقوم بجلب إجمالي الدفعات أو الدائن SH.Cells(X, "F").Value = WS.Cells(I, "N").Value 'زيادة المتغير بمقدار واحد استعداداً لصف جديد في ورقة العمل كشف حساب X = X + 1 End If End If Next I 'إعادة تفعيل خاصية اهتزاز الشاشة Application.ScreenUpdating = True End Sub لا تنسانا من صالح دعائك تقبل ودي واحترامي
  4. أنا أعمل بالبيت على أوفيس 2007 ويعمل الكود بدون مشاكل .... ما نسخة الأوفيس لديك 32 بت أم 64 بت؟ أنا أعمل على نسخة 2007 بروفيشونال بلس Professional Plus
  5. أخي الكريم ياسين ابو وسام إليك الملف التالي عله يفي بالغرض Sub TransferData() Dim WS As Worksheet, SH As Worksheet Dim X As Long Set WS = Sheets("ترحيل"): Set SH = Sheets("MP LIST") X = SH.Cells(Rows.Count, 2).End(3).Row + 1 Application.ScreenUpdating = False With SH .Cells(X, 1) = .Cells(X, 1).Row - 2 .Cells(X, 2).Resize(, 3) = Application.Transpose(WS.Range("G9").Resize(3)) .Cells(X, 5).Resize(, 7) = Application.Transpose(WS.Range("G14").Resize(7)) .Cells(X, 12) = WS.Range("G22") .Cells(X, 13).Resize(, 5) = Application.Transpose(WS.Range("G24").Resize(5)) .Cells(X, 18) = WS.Range("I28") .Cells(X, 19) = WS.Range("G30") .Cells(X, 23) = WS.Range("G32") .Cells(X, 27) = WS.Range("G13") .Cells(X, 28) = WS.Range("I13") .Cells(X, 29) = WS.Range("G44") .Cells(X, 30) = WS.Range("H44") .Cells(X, 31) = WS.Range("I44") .Cells(X, 32) = WS.Range("G47") .Cells(X, 33) = WS.Range("H47") .Cells(X, 34) = WS.Range("I47") .Cells(X, 36).Resize(, 7) = Application.Transpose(WS.Range("G34").Resize(7)) .Cells(X, 43) = WS.Range("J41") .Cells(X, 44) = WS.Range("G49") End With Application.ScreenUpdating = True End Sub تقبل تحياتي Draft Transfer Data.rar
  6. الأخ الحبيب خزاني بارك الله فيك وجزاك الله خيراً برجاء إدراج بيانات الدخول
  7. الأخ الحبيب أبو يوسف الكود يعمل بالفعل على الجداول كما هي مرفقة بالملف المرفق ولكن يمكن تغيير الكود بشكل يتناسب مع التصميم أو التوسع في الجدول ..حاول تدرس الكود ولو قابلك أي مشكلة أنا تحت أمرك أما فيما يخص الطلب الثاني فأفضل دائماً أن يكون الموضوع الواحد لطلب واحد فقط .. فيرجى طرح طلبك الجديد في موضوع جديد (راجع التوجيهات)
  8. ما هو الخطأ الذي يظهر عند تشغيل الكود ..حدد السطر الذي تحدث به المشكلة
  9. الأخ الكريم أكرم جلال الأخ الفاضل مهند الزيدي الأخ الغالي ياسر فتحي بارك الله فيكم وجزيتم خيراً على مروركم العطر بالموضوع تقبلوا تحياتي
  10. يرجى تحديد أفضل إجابة ليظهر الموضوع مجاب ومنتهي أمر آخر عنوان الموضوع يجب أن يكون معبر عن الموضوع سيتم تغيير العنوان
  11. أعتذر عن التأخر في الرد عليك فالوقت ضيق جداً ..ربنا ييسر الأمور إن شاء الله
  12. أهلا بك أخ الكريم ومرحبا بك في المنتدى يرجى تغيير اسم الظهور للغة العربية كما يرجى الإطلاع على رابط التوجيهات http://www.officena.net/ib/index.php?showtopic=60147 ارفق ملف ليساعدك الأخوة الكرام
  13. أخي وحبيبي عبد الله أبو الأنوار نورت الموضوع بردك الجميل تقبل تحياتي
  14. جزيت خيراً أخي الكريم سعد عابد مشكور على مرورك العطر وكلماتك الطيبة
  15. أخي وحبيبي ومعلمي دغيدي مشكور على مرورك العطر .. بس لا لا تتوقف (يعني مفيش ريست Rest ) ..خلاص يبقا وصي لي على واحد سنيكرز (لا توقف) أخي الحبيب علي الشيخ النجم الساطع في سماء المنتدى بارك الله فيك وجزاك الله خير الجزاء ..بس عايز أعرف كنت فين قبل ما تلتحق بالمنتدى ، عايز أعرف تاريخك المشرف
  16. لم يذكر الأخ الفاضل سعد أي شيء عن الفلترة .. !! فالتعامل في هذه الحالة سيكون مع كافة الخلايا المرئية منها والمخفية
  17. أخي وحبيبي في الله ومعلمي محمد صالح (الماس بين الأحجار الكريمة) يسعدني ويشرفني مرورك العطر بموضوعي المتواضع بارك الله لنا فيك وزادك من علمه وحلمه ، ورضي عنك وعن والديك وذويك تقبل تحياتي العطرة
  18. وعليكم السلام أخي الكريم محمد الخازمي إليك الكود التالي بدلاً من كود الاستدعاء الخاص بك Sub GrabDataIfNotFound() Dim SH As Worksheet, I As Long, Cell As Range, Grd$ Grd = Sheets("ورقة1").Range("C3").Value Set SH = Sheets("ورقة1") With Sheets("الاعدادات") For I = 2 To .Cells(Rows.Count, 2).End(3).Row Step 4 If .Cells(I, 2).Value = Grd Then If SH.Columns(3).Find(.Cells(I, 2).Offset(, -1).Value, LookIn:=xlValues, lookat:=xlWhole) Is Nothing Then SH.Cells(Rows.Count, 3).End(3).Offset(1).Value = .Cells(I, 2).Offset(, -1).Value End If End If Next I End With End Sub يعتمد الكود في جلب البيانات على تخطي الأسماء الموجودة مسبقاً وجلب البيانات الجديدة أي الأسماء الجديدة فقط ، وإن شاء الله متحصلش خلبة تقبل تحياتي Grab Data If Not Found.rar
  19. الأخ الحبيب عادل يرجى تغيير اسم الظهور للغة العربية قدم الأخ الحبيب سليم حلاً رائعاً .. لما تطلب حلول أخرى إلا إذا كان الحل غير مرضي بالنسبة إليكم!!!!!!!!!!! إذا لم يفي الحل بالغرض ، يرجى إرفاق ملف آخر به كل الاحتمالات التي يمكن أن تحدث بخصوص الأرقام لأني أعتقد أن الموضوع نسبي كما ذكرت وليس مطلق .. وإذا كان الملف المرفق لا يحتوي على نماذج كاملة فإن الحل لن يكون كامل (هذا في وجهة نظري) تقبل تحياتي
  20. الأخ الفاضل يرجى تغيير اسم الظهور للغة العربية بالنسبة للدالة VLOOKUP إذا كان هناك أكثر من نتيجة فإنه يأتي بآخر نتيجة للبحث .. لو كان لديك أكثر من نتيجة يرجى إرفاق ملفك للإطلاع عليه وإفادتك بما يمكن عمله
  21. الأخ الفاضل سعد فيه جزئية في طلبك لم أفهمها (ذكرت مع الإبقاء على الليست بوكس !) ماذا تقصد بالليست بوكس ؟؟ الأخ الحبيب الغالي المتألق دائماً سليم جزاك الله خير الجزاء وبارك الله فيك اسمح لي أن أسأل عن سطر الفلترة ..ما الفائدة منه ؟ والغريب أنه إذا تمت إزالة الفلترة من ورقة العمل ثم قمت بتنفيذ الكود يعطي خطأ !! والأغرب أنه ليس له فائدة في نظري حيث قمت بإزالة الفلترة من ورقة العمل وإزالة السطر الخاص بالفلترة من الكود ونفذت الكود فعمل بدون أي مشكلة ، وحتى مع الإبقاء على الفلترة في ورقة العمل وإزالة سطر الفلترة من الكود يعمل الكود بشكل طبيعي !!
  22. أخي الكريم إذا كانت المشكلة قد تم حلها فيرجى تحديد أفضل إجابة ليظهر الموضوع مجاب
  23. الأخ الكريم يرجى تغيير اسم الظهور للغة العربية إليك الملف التالي ..طبعاً ملفك محمي بكلمة سر وحضرتك لم تذكر كلمة السر وكان باستطاعتي كسر حمايته ، فقمت بعمل ورقة مشابهة تماماً لورقة العمل الخاصة بك ، وعملت حماية لها بكلمة السر 1 قبل عمل الحماية تمت إزالة الحماية عن الخلية F3 عن طريق كليك يمين Format Cells ثم من التبويب Protection قمت بإزالة علامة الصح من جانب الخيار Locked ، حيث أن هذه الخلية بها قائمة منسدلة للجان حتى يمكنك الاختيار منها إليك الكود مرفق معه الشرح (لا تنسانا من دعائك) Sub AllowFilterInProtectedSheet() 'يقوم الكود بالسماح بعمل فلترة للبيانات في ورقة عمل محمية '-------------------------------------------------------- 'تعريف المتغير لورقة العمل Dim WS As Worksheet 'تعيين الورقة النشطة Set WS = ActiveSheet 'بدء التعامل مع ورقة العمل النشطة With WS 'إزالة الحماية عن ورقة العمل بكلمة السر 1 ، والتي تعتبر كلمة السر لورقة العمل .Unprotect Password:=1 'إزالة الفلترة في ورقة العمل في حالة وجود فلترة للبيانات مسبقاً .AutoFilterMode = False '[F3] وشرط الفلترة هو النطاق [H] فلترة البيانات تبعاً للحقل الثامن .Range("A4:H4").AutoFilter Field:=8, Criteria1:=.Range("F3").Value 'إلغاء الفلترة في حالة أن شرط الفلترة فارغ If .AutoFilterMode And IsEmpty(.Range("F3")) Then .Range("A4:H4").AutoFilter 'إعادة الحماية بنفس كلمة السر مرة أخرى .Protect Password:=1, UserInterfaceOnly:=True End With End Sub إذا أعجبك الحل يرجى تحديد أفضل إجابة ليظهر الموضوع مجاب ومنتهي تقبل تحياتي Allow Filter In Protected Sheet.rar
  24. أخي الحبيب إبراهيم جزيت خيراً على مرروك العطر بارك الله فيك بالنسبة لوضع الأكواد في البداية والنهاية مفيش أي مشكلة على الإطلاق .. كود البداية والنهاية مفيدان في حالة التعامل مع أكواد كثيرة داخل المصنف الواحد (المشاريع الكبيرة) ، فبدلاً من كتابة الأكواد أكثر من مرة ..يمكنك كتابتها مرة واحدة كما ذكرت بالموضوع ثم الإشارة إلى كود البداية في بداية الكود ، وكود النهاية في نهاية الكود .. تقبل ودي وحبي واحترامي
×
×
  • اضف...

Important Information