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

نجوم المشاركات

  1. ibn_egypt

    ibn_egypt

    الخبراء


    • نقاط

      5

    • Posts

      764


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

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

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


    • نقاط

      3

    • Posts

      13165


  3. ابو القبطان

    ابو القبطان

    04 عضو فضي


    • نقاط

      3

    • Posts

      721


  4. إبراهيم ابوليله

    إبراهيم ابوليله

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


    • نقاط

      2

    • Posts

      2850


Popular Content

Showing content with the highest reputation on 12/08/14 in all areas

  1. اليك اخي ملف يفي بكل ما يتعلق بالالوان منقول للأمانة دوال الالوان.rar
    2 points
  2. اخى الفاضل جرب الملف المرفق لربما به طلبك .. واعتبرها محاولة للمساعدة تحياتي فورم يعرض نطاق كأنة قناة تلفزيونية.rar
    2 points
  3. السلام عليكم ورحمة الله وبركاته هدفيه للعاملين بالكنترولات المدرسيه ...... _ سجلات اعمال الكنترول كامله ... _ توزيع الملاحظين اليا على اللجان .... مع تحياتى ....
    1 point
  4. السلام عليكم ورحمة الله وبركاته اساتذتى فى هذا الصرح العظيم . الساده اعضاء اوفيسنا موضوع اليوم هو استخدام دالة VLOOKUP فى البحث عن قيمه معينه فى مجموعة صفحات بشكل بسيط وسهل فقد رايت استخدامات مشابهه ولكن كانت بشكل اصعب . والان اقدمها لكم بشكلها البسيط وعلى فكرة انا اعشق هذه الداله ارجوكم لاتنسونى فى دعاؤكم اترككم مع الملف والمثال العملى vlookp.rar
    1 point
  5. زملائى بالمنتدى العزيز على قلبى مما لا شك فيه ان موضوع إيجاد الفرق بين تاريخين او طرح تاريخين يهم الكثير من مستخدمى الاكسيل لذالك اقدم لكم شرح مبسط لداله DateDif تستخدم هذه الدالة فى إيجاد الفرق بين تاريخين او طرح تاريخين شكل الدالة يكون كالتالى DATEDIF(Date1, Date2, Interval) شرح الداله الداله هى DateDif وتتكون من 3 أجزاء Date1 هو تاريخ الاقدم Date2 هو تاريخ الاحدث Interval وهو نوع النتيجة المطلوبه انواع Interval كما بالصورة واليكم تطبيقات عمليه بالصور للداله مثال 1 لدينا تاريخ بالخلية A1 وهو 2010/08/05 تاريخ الميلاد (مثلا) وتاريخ بالخلية B1 وهو 2014/12/08 تاريخ اليوم (مثلا) ونريد كم فرق السنوات بين تاريخين ( اى كم عمر الطفل بالسنوات عند هذا التاريخ) نكتب بالخلية C1 الداله التالية =DATEDIF(A1;B1;"y") نلاحظ هنا اننا استخدمنا حرف Y وهو اختصار لـ Year ونلاحظ ايضا انها مكتوبة بين علامتين تنصيص " " ويكون ناتج المعادله وهو 4 سنوات كما بالصورة مثال 2 اذا اردنا حساب الفرق بالشهور نغيير Y الى M وهو اختصار month وتكون المعادله كالتالى =DATEDIF(A2;B2;"m") ويكون النتيجة هى 52 شهر كما هو موضح بالصورة . مثال 3 اذا اردنا حساب الفرق بالشهور نغيير m الى D وهو اختصار Day وتكون المعادله كالتالى =DATEDIF(A2;B2;"d") ويكون النتيجة هى 1586 يوم كما هو موضح بالصورة مثال 4 اذا اردنا حساب الفرق بين التاريخين كم سنة وكم شهر وكم يوم بفرض ان التاريخين بالمثال الاول بالخلية A2 والخلية B2 وتكون المعادله كالتالى نضع بالخلية C2 المعادله التالية =DATEDIF(A2;B2;"y") ونضع بالخلية D2 المعادله التالية =DATEDIF(A2;B2;"ym") ونضع بالخلية E2 المعادله التالية =DATEDIF(A2;B2;"md") ونلاحظ النتيجة كما هو موضوح بالصورة اتمنى ان اكون وفقت بالشرح وان شاء الله سوف اجهز المزيد من الامثله العملية والمصحوبه بالصور تقبلوا منى وافر الاحترام والتقدير
    1 point
  6. بالمرفق كود يحذف نفسه بعد ما يشتغل مرة واحده كود يحذف نفسه بعد ما يشتغل مرة وحده.rar
    1 point
  7. السلام عليكم ورحمة الله وبركاته اعضاء ومشرفي وزوار المنتدي الكرام اليوم اقدم لكم شئ بسيط ممكن الكثير منا يحتاج اليه عمل قائمة بالتقارير الموجده لديك وفتحها من خلال زرامر واحد الفكرة بسيطه جدا 1- عمل جدول ووضع فيه جمع اسماء التقارير التي تريد ها حسب الحاجه 2 - داخل اي نموذج تريده انت عمل قائمة تحرير وسرد واجعل طبعا المصدر جدول التقارير اجعل اسم المربع مثلا text2 3 - انشأ زر امر وفي حدث عند النقر ضع الكود التالي On Error Resume Next If IsNull(text2) Then MsgBox "ÇßÊÈ ÇÓã ÇáÊÞÑíÑ" DoCmd.CancelEvent Else stDocName = text2 DoCmd.OpenReport stDocName, acViewReport, , stLinkCriteria End If ولكم مثال علي ذالك مرفق tast.rar
    1 point
  8. أخي الحبيب ابن مصر (يبدو أننا نلتقي في نفس الطريق إلى روما دائماً ...) بارك الله فيك وجزاك الله خير الجزاء عما تقدمه من مساعدات جمة وعظيمة لإخوانك تقبل تحياتي وأشواقي بس من غير وردة عشان خايف الورد يخلص وميبقاش غير الشوك
    1 point
  9. تفضل أخي الحبيب الملف المرفق Get IP Function.rar
    1 point
  10. اخي ابن مصر اخي عاشق الاسلام اشكركم ، واتمنى ان اكون افدتكم تقبلوا تحياتي
    1 point
  11. أخى الفاضل ابو القبطان ملف رائع بكل معنى الكلمة ... ودالة رائعة .. عجبتنى جدا.. تسلم ايدك تحياتى
    1 point
  12. السلام عليكم سؤال مهم فعلا و احب ان اضيف علاوة ما اضافة الاخوة الكرام السيد سليم و السيد عبدالله انه يمكن استخلاص الارقام من نص عن طريق الدالة SumProduct انظر المثال المرفق فكرة الكود هو ضرب عناصر مصفوفتين عن طريق الدالة sumproduct و من ثم جمع الناتج مثال: في الخلية A1 العبارة التالية: 250 كرتون حليب المصفوفة الاولى تمثل الارقام المستخلصة من النص و هى {0,5,2} المصفوفة الثانية تمثل المنزلة العشرية لكل رقم {1,10,100} و عند ضرب المصفوفتين و جمع الناتج نحصل على 250 هذا كود المعادلة لخلية A1 ممكن ان تحتوي على نص بطول 30 حرف SUMPRODUCT(MID(0&A1,LARGE(INDEX(ISNUMBER(--MID(A1,ROW($1:$30),1))* ROW($1:$30),0),ROW($1:$30))+1,1)*10^ROW($1:$30)/10) استخلاص الارقام من نص.zip
    1 point
  13. السلام عليكم جرب الملف التالي sum of mix cell.xlsx
    1 point
  14. الأخ أبو الاء أرجو متابعة نفس موضوعك الأول دون أن تفتح موضوعا جديدا لنفس السؤال و ذلك منعا للتكرار
    1 point
  15. بغد اذن الاخوة طالع هذه المشاركة http://www.officena.net/ib/?showtopic=19712 يوجد طريقة اخرى من موقع ميكروسوفت كذلك http://all-free-download.com/free-vector/download-free-frame-and-borders-for-microsoft-word.html والسلام عليكم
    1 point
  16. السلام عليكم الشكر موصول للاخ ibn_egypt وهذا كود مشابه لما تفضل به مع بعض التعديلات Private Sub UserForm_Initialize() Dim wSh As Worksheet: Set wSh = Sheet2 Dim iLrw As Long: iLrw = wSh.Cells(wSh.Rows.Count, 1).End(xlUp).Row Dim iI As Integer Dim sTex As String For iI = 1 To iLrw If iI = 1 Then sTex = wSh.Range("A" & iI) Else sTex = sTex & " - " & wSh.Range("A" & iI) Next HTML sTex, 4, 5 End Sub Private Sub HTML(sTexte As String, iSize As Integer, iScrollAmount As Integer) Me.WebBrowser1.Navigate _ "about:<html><body BGCOLOR ='' scroll='no'><font color= #00000 " & _ " size=" & iSize & " face='Arial'><marquee direction=right ; font-size: 14pt;" & _ " color: white; border-style: ridge; border-color: scrollAmount=" & iScrollAmount & ">" & sTexte & "</marquee></font></body></html>" End Sub ينسخ الكود كما هو في الفورم اما السطر HTML sTex, 4, 5 فيعني على التوالي مايلي النص, حجم الخط, سرعة التحرك اي انه يمكنك التحكم في الخصائص التي سبقة من هذا الكود فقط WebBrowser.rar وهذا حل اخر عن طريق textbox Const cVitesse As Currency = 0.01 Dim bStart As Boolean Sub MovBar() Do While bStart timer_avant = Timer Do While Timer < timer_avant + cVitesse DoEvents Loop sMove Loop End Sub Sub sMove() Dim iWidth As Integer: iWidth = Me.TextBox1.Width Dim iI As Integer For iI = 1 To iWidth timer_avant = Timer Do While Timer < timer_avant + cVitesse DoEvents Loop Me.TextBox1.Left = -iWidth + iI Next End Sub Private Sub UserForm_Activate() bStart = True MovBar End Sub Private Sub UserForm_Initialize() Dim wSh As Worksheet: Set wSh = Sheet2 Dim iLrw As Long: iLrw = wSh.Cells(wSh.Rows.Count, 1).End(xlUp).Row Dim iI As Integer Dim sTex As String For iI = 1 To iLrw If iI = 1 Then sTex = wSh.Range("A" & iI) Else sTex = sTex & " - " & wSh.Range("A" & iI) Next Me.TextBox1 = sTex With Me.TextBox1 .AutoSize = True .BackStyle = 0 .SpecialEffect = 0 End With End Sub Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) bStart = False End End Sub textbox.rar تحياتي للجميع
    1 point
  17. السلام عليكم أخي العزيز الخطأ بسيط للغاية الفارق بالعملة في العمود S هو اللي مفروض تقسمه علي المبيعات أي غير المعادلة في الخلية من =IFERROR(R7/Q7,0) إلي =IFERROR(S7/Q7,0) ثم اسحبها للأسفل
    1 point
  18. اخى الفاضل أولاً .. المرفق عبارة عن مجلد فارغ ثانياً: للرفع بعد دقيقة واحدة فقط من طرح الموضوع تحياتي
    1 point
  19. بسم الله الرحمن الرحيم والصلاة والسلام على اشرف المرسلين سيدنا محمد صلى الله عليه وسلم لقد قدمت سابقا نموذج فاتوره على الاكسيل بدون فورم وبناء على طلب بعض الاخوه فى شرح كيفيه عمل النموذج وتلبية لرغباتهم نتناول طريقه عمل النموذج ونظرا لضيق الوقت ان شاء الله يتم تناول درس يوميا على الاقل حتى الانتهاء بإذن الله .......................................................................... الاخوه الافاضل الحمد لله فقد انتهينا من شرح الدرس الاول وهو عباره عن ثلاثة دروس تمهيديه وهى اولا--تصميم الفاتوره ثانيا--انشاء شيت به الاكواد المساعده ثالثا--انشاء شيت لتجميع بيانات الفواتير المسجله --------------------------------------------------- الان نبدأ فى شرح الدرس الثانى الدرس الثانى ( أ ) الكود الاول--كود يقوم بعمل تسلسل لرقم الفاتوره بالتاكيد اننا نحتاج لمثل هذا الكود توفيرا للوقت الضائع فى ادخال الرقم بأيدينا وظيفة الكود انه بعد الانتهاء من الفاتوره وادخال بياناتها يقوم الكود تلقائيا بوضع رقم جديد للفاتوره وهذا الكود سوف يكون مرتبط بالبيانات المسجله فى شيت INVOICE DATA وبالاخص فى العمود C والخاص برقم الفاتوره حيث ان عمل الكود يكون كالاتى انه فى حالى عدم وجود بيانات فى العمود c يتم اعطاء الخليه الرقم 1 اما فى حالة وجود بيانات يتم اخذ اكبر رقم موجود ثم يتم اضافة 1 اليه الان نتعرف على كيفيه كتابة الكود وطريقه عمل الكود نقوم بانشاء موديل جديد وكتابة الكود داخلها كالاتى وهنا نجد ان الشكل النهائى للكود يكون كالأتى Sub INV_NO() On Error Resume Next Dim WS As Worksheet Dim WS1 As Worksheet Set WS = Worksheets("INVOICE") Set WS1 = Worksheets("INVOICE DATA") If WS.Range("F2").Value = "" Then WS.Range("F2").Value = 1 Exit Sub End If If WS.Range("f2").Value <> "" Then With WS1 WS.Range("F2").Value = Application.Max(WS1.[C3:C10800]) + 1 End With End If End Sub واسمحو لى ايها الاخوه الافاضل بمحاوله متواضعه منى لشرح اسطر الكود Sub INV_NO() كلمة sub ,وهى اختصار لكلمة Subroutine وتعنى تنفيذ مهمه محدده هذه المهمه تم تسميتها ب INV_NO Dim WS As Worksheet Dim WS1 As Worksheet هنا يتم الاعلان عن متغير اسميناه ب ws ,ومتغير اخر اسميناه ب ws1 وتم الاشاره الى كلا من المتغيرين على انهما سيكونان عباره عن شيت اكسيل Set WS = Worksheets("INVOICE") Set WS1 = Worksheets("INVOICE DATA") وهنا يتم تعريف المتغيرين وتحديد اسمهما فنجد ان المتغير الاول ws تم نعريفه على انه الشيت المسمى ب invoice ونجد ان المتغير الثانى ws1 تم نعريفه على انه الشيت المسمى ب invoice data If WS.Range("f2").Value = "" Then هنا ينم استخدام القاعده if داخل الكود لتنفيذ شئ معين وفى البداية نود ان نشير الى شئ معين الا وهو كيفيه استخدام المتغير ws فمثلا فى هذا السطر نشير الى الخليهf2فى شيت invoice وبذلك يكون شكل الكود كألأتى sheets("invoice").range("f2") هكذا يتم الاشاره الى الخليه f2 فى شيت invoice اما فى حالة استخدام الاختصار اى استخدام المتغير ws تكون الاشاره كالأتى ws.range("f2") وبالنظر الى سطر الكود سنجد اننا نريد ان نقول انه فى حالة عدم وجود بيانات فى الخليه f2 فى الشيت ws اى شيت invoice يتم تنفيذ الاتى WS.Range("F2").Value = 1 وفى هذا السطر نجد انه سوف يتم تنفيذ أو سوف يتم اعطاء الخليه f2 فى شيت ws اى فى شيت invoice الرقم 1 Exit Sub End If كلمة Exit Sub وظيفها انه تقوم بانهاء عمل الكود فلا يتم تنفيذ شئ بعدها اما كلمة End If فهى تقوم بانهاء عمل الشرط if If WS.Range("f2").Value <> "" Then هنا نريد ان نقول انه فى حالة وجود بيانات فى الخليه f2 فى شيت ws اى فى شيت invoice يتم الاتى WS.Range("F2").Value = Application.Max(WS1.[C6:C10800]) + 1 بالنظر الى هذا السطر سنجد اننا قد استخدمنا المعادله MAX هذه المعادله من وظيفتها ان تقوم بالبحث داخل النطاق المشار اليه (C3:C10800) فى شيت WS1 اى فى شيت INVOICE DATA ثم يتم اضافة الرقم 1 الى النتاتج بمعنى انه فى حالة وجود الارقام الاتيه فى الخلايا 1-2-3-4-5 سنجد ان المعادله MAX سوف تعطى الرقم 5 كأكبر رقم موجود ثم يتم اضافة الرقم 1 الى الرقم5 1+5=6 وبذلك تصبح قيمة الخليه f2 فى شيت ws اى فى شيت invoice تساوى الرقم 6 وهكذا End If End Sub اما كلمة End If فهى تقوم بانهاء عمل الشرط if اما كلمة End sub فهى تقوم بنهاء عمل الكود نهائيا ............................................................................................................................................................................................................................................................. الان يتم التعرف على كيفيه انشاء زر وربطه بالكود ---------------------------------------------------------------------------------------------- الان قد انتهينا من شرح الدرس الاول (أ) اتمنى ان اكون قد وفقت فى الشرح تقبلوا تحياتى
    1 point
  20. اخى الكريم تفضل المرفق هل هو ما تريد ترتيب.zip
    1 point
  21. بسم الله الرحمن الرحيم كانت المشكلة أكبر في الجداول ، ولكنها الآن استجابت ، وخاصة بعد أن قمت بإنشاء ملف جديد تنسيق 2010 بدلا من الملف القديم الذي كان يعمل في ( وضع التوافق ) ، وقد يكون وضع التوافق مع الجداول سبب في المشكلة ، والحمد لله تم حل المشكلة الآن شكر الله لكم وجعله في ميزان حسناتكم
    1 point
  22. نعم، إذا كان المقام صفراً فإن قسمة أي عدد على صفر ستعطي خطأً. وللتغلب على ذلك، وفي حقل النسبة المئوية حيث R9/Q9 ، أحطها بدالة IFERROR كما في الكود التالي =IFERROR(R9/Q9,0) ببساطة، أنت تطلب من إكسيل أن يقوم بقسمة قيمة على قيمة، لكنك تطلب منه التحكم في الخطأ، فإذا ظهر خطأ، فليستبدل القيمة بصفر. وهكذا تتخارج من خطأ القسمة على صفر. بعد أن تطبع المعادلة كما في الكود أعلاه، إسحبها بالفأرة إلى الصف 12، ثم نسخ من صف 12 و"لصق دالة" في الصف 14. أجمل المُنى، عبدالله،،،
    1 point
  23. Private Sub Worksheet_Selectionchange(ByVal Target As Range) If ActiveCell.HasFormula = True Then ActiveCell.Offset(0, 1).Select End Sub عدم الوقوف على الخلية المفردة أو المدمجة التى بها دالة
    1 point
  24. بسم الله الرحمن الرحيم والصلاة والسلام على اشرف المرسلين سيدنا محمد صلى الله عليه وسلم لقد قدمت سابقا نموذج فاتوره على الاكسيل بدون فورم وبناء على طلب بعض الاخوه فى شرح كيفيه عمل النموذج وتلبية لرغباتهم نتناول طريقه عمل النموذج ونظرا لضيق الوقت ان شاء الله يتم تناول درس يوميا على الاقل حتى الانتهاء بإذن الله .......................................................................... الاخوه الافاضل الحمد لله فقد انتهينا من شرح الدرس الاول وهو عباره عن ثلاثة دروس تمهيديه وهى اولا--تصميم الفاتوره ثانيا--انشاء شيت به الاكواد المساعده ثالثا--انشاء شيت لتجميع بيانات الفواتير المسجله --------------------------------------------------- الان نبدأ فى شرح الدرس الثانى الدرس الثانى ( أ ) الكود الاول--كود يقوم بعمل تسلسل لرقم الفاتوره بالتاكيد اننا نحتاج لمثل هذا الكود توفيرا للوقت الضائع فى ادخال الرقم بأيدينا وظيفة الكود انه بعد الانتهاء من الفاتوره وادخال بياناتها يقوم الكود تلقائيا بوضع رقم جديد للفاتوره وهذا الكود سوف يكون مرتبط بالبيانات المسجله فى شيت INVOICE DATA وبالاخص فى العمود C والخاص برقم الفاتوره حيث ان عمل الكود يكون كالاتى انه فى حالى عدم وجود بيانات فى العمود c يتم اعطاء الخليه الرقم 1 اما فى حالة وجود بيانات يتم اخذ اكبر رقم موجود ثم يتم اضافة 1 اليه الان نتعرف على كيفيه كتابة الكود وطريقه عمل الكود نقوم بانشاء موديل جديد وكتابة الكود داخلها كالاتى وهنا نجد ان الشكل النهائى للكود يكون كالأتى Sub INV_NO() On Error Resume Next Dim WS As Worksheet Dim WS1 As Worksheet Set WS = Worksheets("INVOICE") Set WS1 = Worksheets("INVOICE DATA") If WS.Range("I6").Value = "" Then WS.Range("I6").Value = 1 Exit Sub End If If WS.Range("f6").Value <> "" Then With WS1 WS.Range("I6").Value = Application.Max(WS1.[C6:C10800]) + 1 End With End If End Sub واسمحو لى ايها الاخوه الافاضل بمحاوله متواضعه منى لشرح اسطر الكود Sub INV_NO() كلمة sub ,وهى اختصار لكلمة Subroutine وتعنى تنفيذ مهمه محدده هذه المهمه تم تسميتها ب INV_NO Dim WS As Worksheet Dim WS1 As Worksheet هنا يتم الاعلان عن متغير اسميناه ب ws ,ومتغير اخر اسميناه ب ws1 وتم الاشاره الى كلا من المتغيرين على انهما سيكونان عباره عن شيت اكسيل Set WS = Worksheets("INVOICE") Set WS1 = Worksheets("INVOICE DATA") وهنا يتم تعريف المتغيرين وتحديد اسمهما فنجد ان المتغير الاول ws تم نعريفه على انه الشيت المسمى ب invoice ونجد ان المتغير الثانى ws1 تم نعريفه على انه الشيت المسمى ب invoice data If WS.Range("f6").Value = "" Then هنا ينم استخدام القاعده if داخل الكود لتنفيذ شئ معين وفى البداية نود ان نشير الى شئ معين الا وهو كيفيه استخدام المتغير ws فمثلا فى هذا السطر نشير الى الخليهf6فى شيت invoice وبذلك يكون شكل الكود كألأتى sheets("invoice").range("f6") هكذا يتم الاشاره الى الخليه f6 فى شيت invoice اما فى حالة استخدام الاختصار اى استخدام المتغير ws تكون الاشاره كالأتى ws.range("f6") وبالنظر الى سطر الكود سنجد اننا نريد ان نقول انه فى حالة عدم وجود بيانات فى الخليه f6 فى الشيت ws اى شيت invoice يتم تنفيذ الاتى WS.Range("I6").Value = 1 وفى هذا السطر نجد انه سوف يتم تنفيذ أو سوف يتم اعطاء الخليه f6 فى شيت ws اى فى شيت invoice الرقم 1 Exit Sub End If كلمة Exit Sub وظيفها انه تقوم بانهاء عمل الكود فلا يتم تنفيذ شئ بعدها اما كلمة End If فهى تقوم بانهاء عمل الشرط if
    1 point
  25. أخي الفاضل تفضل الملف المرفق لعله يفي بالغرض، حاجة كده في السريع قبل النوم وعلى افتراض أن قيمة A1 فقط في الشيت الأول هي من تتغير خالص تحياتي Book1.rar
    1 point
×
×
  • اضف...

Important Information