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

محمد حجازي

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

    771
  • تاريخ الانضمام

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

  • Days Won

    2

كل منشورات العضو محمد حجازي

  1. طبعاً سيعطيك هذه الرسالة و ذلك لأنك حددت نطاق لا يحتوي على صيغ تتضمن المراجع المحددة. paste من أجل لصق المراجع ، كأن نكتب : =sum( ومن ثم نقوم بلصق المرجع ونغلق القوس. أما lable فلم أستعملها سابقاً و لا يوجد عندي تصور لكيفية عملها.
  2. السلام عليكم ... هذا الملف معدل كما تريد وذلك بإضافة الشروط التي تريدها . ويمكنك التعديل على الشروط كما تشاء ، راجع الرابط التالي : http://www.officena.net/ib/index.php?showtopic=8249 كما يمكنك تعميم الكود ليشمل الورقة النشطة وذلك عن طريق استبدال السطر : With Sheets("JANUARY") بالسطر: With ActiveSheet ملاحظة : لقد أرفقت كلمة المرور بالكود كما ستلاحظ ، وبالتالي لا داعي لفك حماية الورقة يدوياً. أما بالنسبة عن تطبيق الكود ، راجع الروابط التالية: http://www.officena.net/ib/index.php?showtopic=4624 http://www.officena.net/ib/index.php?showtopic=2407 TRIAL_BALANCE_2001.rar
  3. السلام عليكم ... لا أعرف فيما إذا كان هذا ما تريد : =IF(OR(D1>R1;D1<A1);IF(R1<A1;D1+A1;IF(A1<-B1;D1+B1;IF(OR(D1<A1;D1<B1);IF(ABS(A1-D1)<ABS(B1-D1);D1+A1;D1+B1);IF(OR(AND(D1>=A1;D1<=B1);AND(D1<=A1;D1>=B1));IF(ABS(A1-D1)<ABS(B1-D1);D1+A1;D1+B1);IF(AND(D1=A1;A1>B1);D1+A1;IF(AND(D1=B1;B1>A1);D1+B1;)))))))
  4. السلام عليكم ... بالفعل يا أخي أسئلتك تحتاج لردووووود . :d على أية حال سأرد على السؤال الأول و أترك الباقي للأخوة هنا. راجع الرابط التالي : http://www.c4arab.com/showlesson.php?lesid=2109
  5. السلام عليكم ... لم أفهم المقصود بالضبط ، ولكن جرب الصيغة التالية : =IF(A1="";"";A1) طبعاً غير المرجع بحسب ما تريد.
  6. السلام عليكم ... أولاً حدد الخلايا المطلوبة و اضغط على الخيار Cells الموجود في القائمة Format لتظهر لك نافذة . تحت لسان التبويب Protection ألغي تحديد الخيار Locked . الآن اضغط على الخيار Protect Sheet الموجود في القائمة Tools (القائمة الفرعية Protection) لتظهر لك نافذة . ألغي تحديد الخيار Select locked Cells وأدخل كلمة السر واضغط على OK. الآن لاحظ كيف ينتقل المؤشر عند الضغط على Enter .
  7. السلام عليكم ... ذلك لأن مربع التحرير والسرد المدرج ينتمي لمجموعة الأدوات Control Toolbox وليست المجموعة Forms ، و أدوات كل مجموعة تمتلك عدد من الخصائص تميزها عن أدوات المجموعة الأخرى ، وكما أنه يوجد بعض الاختلاف في استخدام أدوات المجموعتين ، راجع المرفق التالي : ActiveX_Forms.rar
  8. السلام عليكم ... كما يمكن التحكم بالخاصية ScrollArea بدون كود ، وذلك عن طريق مايلي : اضغط على Alt+F11 ليظهر لك محرر الفيجوال . حدد الورقة المطلوب حصر المجال فيها و أدخل المجال في المربع ScrollArea الموجود في نافذة الخصائص (لاحظ الصورة المرفقة) : و لكنك ستحتاج هنا لإجراء نفس العملية في كل مرة تفتح المصنف فيها. ملاحظة : إذا لم تكن نافذة الخصائص ظاهرة اضغط على F4 لتظر لك. بالتوفيق
  9. السلام عليكم ... بالنسبة لملف العملاء : يمكنك عمل ذلك إذا كنت تعرف التعامل مع الدالة Vlookup و المراجع متعددة الأبعاد : http://office.microsoft.com/ar-sa/assistan...2093351025.aspx http://www.c4arab.com/showlesson.php?lesid=2111 بالنسبة لملف البنك: يمكن حلها عن طريق الدالة sum و الشرط if . ابحث في المنتدى عن ذلك و أرنا محاولاتك لكي نستطيع مساعدتك .
  10. السلام عليكم ... بصراحة ، لم أفهم قصدك بالضبط ، ولكن جرب الروابط التالية علها تفيدك : http://www.officena.net/ib/index.php?showtopic=46 http://www.officena.net/ib/index.php?showtopic=2210
  11. السلام عليكم ... النقطة الثانية ، إن شاء الله واضحة و ممكنة. النقطة الأولى ، هل سيتم تعقيب "محرر القيد" على كل الأوراق في المصنف ، أم سيكون هناك قائمة منسدلة بالأوراق الموجودة وعلى المحرر أن يختار منها ما يريد؟
  12. السلام عليكم ... أعتقد أن الاحتمالات متداخلة ، الرجاء التوضيح بطريقة أكثر دقة.
  13. السلام عليكم ... جرب الكود التالي : Sub HideRows() Application.ScreenUpdating = False For Each MyCell In Sheets("Sheet1").Range("C2:C100").Cells If MyCell = 0 Then MyCell.EntireRow.Hidden = True End If Next MyCell Application.ScreenUpdating = True End Sub Sub UnhideRows() Sheets("Sheet1").Range("C2:C100").EntireRow.Hidden = False End Sub بالتوفيق HideRows.rar
  14. السلام عليكم ... طيب أرفق ملف وضع فيه ملاحظاتك لكي أتمكن من تعديله لك .
  15. السلام عليكم ... راجع الروابط التالية : http://www.officena.net/ib/index.php?showtopic=5899 http://www.officena.net/ib/index.php?showtopic=4872 بالتوفيق
  16. السلام عليكم ... شكراً لك يا أخي triste على هذه المشاركة ، و إن شاء الله سيتم نقل هذا الموضوع لقسم التطبيقات قريباً .
  17. السلام عليكم ... الأخ ABURYAN3 ، للتسهيل سأطبق ذلك على "اسم الزبون" و الطريقة نفسها بالنسبة لأي بند من بنود الفاتورة . فقط طبق الشرط IF كالتالي : Sub MoveData() Dim EndRow As Long If Sheets("Invoice").Range("B3").Value = "" Then MsgBox prompt:="يبدو أن الفاتورة فارغة", Title:="خطأ" Else EndRow = Sheets("List").Range("A1").CurrentRegion.Rows.Count Sheets("List").Cells(EndRow + 1, 1).Value = EndRow Sheets("List").Cells(EndRow + 1, 2).Value = Sheets("Invoice").Cells(3, 2).Value Sheets("List").Cells(EndRow + 1, 3).Value = Sheets("Invoice").Cells(3, 4).Value Sheets("List").Cells(EndRow + 1, 4).Value = Sheets("Invoice").Cells(5, 1).Value Sheets("List").Cells(EndRow + 1, 5).Value = Sheets("Invoice").Cells(6, 4).Value Sheets("List").Cells(EndRow + 1, 6).Value = Sheets("Invoice").Cells(8, 2).Value Sheets("List").Cells(EndRow + 1, 7).Value = Sheets("Invoice").Cells(8, 4).Value Sheets("Invoice").Range("B3,D3,A5:D5,D6,B8,D8").ClearContents End If End Sub ويمكنك إضافة عبارتي OR أو AND للشرط IF (في حال رغبتك بوضع أكثر من شرط) ، وذلك كما يلي (بالنسبة لاسم الزبون ومكان الإقامة) : Sub MoveData() Dim EndRow As Long If Sheets("Invoice").Range("B3").Value = "" Or Sheets("Invoice").Range("D3").Value = "" Then MsgBox prompt:="يبدو أن الفاتورة فارغة", Title:="خطأ" Else EndRow = Sheets("List").Range("A1").CurrentRegion.Rows.Count Sheets("List").Cells(EndRow + 1, 1).Value = EndRow Sheets("List").Cells(EndRow + 1, 2).Value = Sheets("Invoice").Cells(3, 2).Value Sheets("List").Cells(EndRow + 1, 3).Value = Sheets("Invoice").Cells(3, 4).Value Sheets("List").Cells(EndRow + 1, 4).Value = Sheets("Invoice").Cells(5, 1).Value Sheets("List").Cells(EndRow + 1, 5).Value = Sheets("Invoice").Cells(6, 4).Value Sheets("List").Cells(EndRow + 1, 6).Value = Sheets("Invoice").Cells(8, 2).Value Sheets("List").Cells(EndRow + 1, 7).Value = Sheets("Invoice").Cells(8, 4).Value Sheets("Invoice").Range("B3,D3,A5:D5,D6,B8,D8").ClearContents End If End Sub Sub MoveData() Dim EndRow As Long If Sheets("Invoice").Range("B3").Value = "" And Sheets("Invoice").Range("D3").Value = "" Then MsgBox prompt:="يبدو أن الفاتورة فارغة", Title:="خطأ" Else EndRow = Sheets("List").Range("A1").CurrentRegion.Rows.Count Sheets("List").Cells(EndRow + 1, 1).Value = EndRow Sheets("List").Cells(EndRow + 1, 2).Value = Sheets("Invoice").Cells(3, 2).Value Sheets("List").Cells(EndRow + 1, 3).Value = Sheets("Invoice").Cells(3, 4).Value Sheets("List").Cells(EndRow + 1, 4).Value = Sheets("Invoice").Cells(5, 1).Value Sheets("List").Cells(EndRow + 1, 5).Value = Sheets("Invoice").Cells(6, 4).Value Sheets("List").Cells(EndRow + 1, 6).Value = Sheets("Invoice").Cells(8, 2).Value Sheets("List").Cells(EndRow + 1, 7).Value = Sheets("Invoice").Cells(8, 4).Value Sheets("Invoice").Range("B3,D3,A5:D5,D6,B8,D8").ClearContents End If End Sub وبنفس الطريقة إذا كنت ترغب بإضافة أكثر من شرطين .... ملاحظة : يمكن اختصار الكود السابق ، ولكن هذا الشكل أسهل للفهم. تحياتي
  18. السلام عليكم ... جرب الصيغة التالية : =IF(ABS(A1-D1)<ABS(B1-D1);D1+A1;D1+B1) بالتوفيق
  19. السلام عليكم ... بدل الإجراء التالي : Sub MyPrint() ActiveSheet.PrintOut Copies:=1, Collate:=True End Sub إلى : Sub MyPrint() Sheets("HOME").PrintOut Copies:=1, Collate:=True End Sub
  20. السلام عليكم ... راجع الرابط التالي : http://www.officena.net/ib/index.php?showtopic=5005
  21. السلام عليكم ... من الطرق المقترحة ، حماية الصفحة وإعطاء الإمكانية للكود لفك/وإعادة الحماية ، راجع الرابط التالي : http://www.officena.net/ib/index.php?showtopic=8044
  22. الأرقام هذه هي عبارة عن رقم صف وعامود الخلية التي نشير إليها ، فمثلاً نحن في السطر التالي : Sheets("Invoice").Cells(3, 2).Value نشير لقيمة الخلية الموجودة في الورقة Invoice و في الصف الثالث و العامود الثاني (أي الخلية B3 "اسم الزبون"). حسناً ، أمعن النظر في السطر التالي وذلك لأننا سنشرحه بعد قليل : Sheets("List").Cells(EndRow + 1, 2).Value = Sheets("Invoice").Cells(3, 2).Value السطر السابق يقوم بإعطاء الخلية المتوضعة في الورقة List و في السطر EndRow + 1 و العامود 2 (أي الخلية الموجودة في أول صف فارغ من حقل الزبون) نفس القيمة الموجودة في الخلية المتوضعة في الورقة Invoice و في السطر الثالث و العامود الثاني (الخلية B3 من الورقة Invoice). أي أننا قمنا بنسخ قيمة الخلية الموجودة على يمين المساواة ولصقها في الخلية الموجودة على يسار المساواة. وهكذا نكرر نفس العملية بالنسبة لمحرر الفاتورة و وتاريخ التحرير و .... الخ. وفي النهاية فإننا بحاجة لتفريغ محتويات الفاتورة المرحلة عن طريق السطر التالي : Sheets("Invoice").Range("B3,D3,A5:D5,D6,B8,D8").ClearContents أرجو أن أكون قد وفقت في الشرح
  23. السلام عليكم ... للأسف يا أخي ، لا يمكن للدول عمل ذلك . يمكنك عمل ذلك عن طريق الإجراءات فقط!
  24. السلام عليكم ... هيه سهلة :d ، جرب الصيغة التالية : =D1+MAX(A1:B1)
  25. السلام عليكم ... الأخ baran كان قد حمل مرفق الدروس في الرابط التالي : http://www.officena.net/ib/index.php?showtopic=8247 و لكن الملف كان معطوباً ، ونحن بانتظار تحميل الملف بعد ضغطه.
×
×
  • اضف...

Important Information