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

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

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

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

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


    • نقاط

      41

    • Posts

      13165


  2. jjafferr

    jjafferr

    أوفيسنا


    • نقاط

      8

    • Posts

      9993


  3. الصـقر

    الصـقر

    الخبراء


    • نقاط

      8

    • Posts

      1836


  4. سليم حاصبيا

    سليم حاصبيا

    أوفيسنا


    • نقاط

      8

    • Posts

      8723


Popular Content

Showing content with the highest reputation on 04/05/16 in all areas

  1. السلام عليكم ورحمة الله وبركاته إخواني واحبابي في الله منذ ما يقرب من الستة أشهر وأنا أبحث عن كود أو دالة لايجاد الرقم التسلسلي للوحة الأم ، حيث يمكن استخدام الرقم التسلسلي لربطه بالمصنف كنوع من أنواع الحماية ... بحثت كثيراً وتجولت كثيراً ولم أيأس إلى أن وفقني الله عزوجل للحصول على دالة معرفة بعد معاناة كبيرة جداً في البحث .. وها أنا أقدمها لكم على طبق من ذهب .. ها هي الدالة المعرفة Function MBSerialNumber(Optional strComputer As String = ".") As String Dim V, vName, vUUID With GetObject("winmgmts:\\" & strComputer & "\root\cimv2") For Each V In .ExecQuery("SELECT * FROM Win32_ComputerSystemProduct", , 48) vName = V.Name vUUID = V.UUID Next V End With MBSerialNumber = vName & ", " & vUUID End Function ويمكن استخدامها من خلال ورقة العمل أو من خلال إجراء فرعي آخر بالنسبة لورقة العمل في أي خلية ضع المعادلة التالية =MBSerialNumber() وأخيراً إليكم الملف المرفق .. (يمكنك عدم التحميل ونسخ الدالة المقدمة ووضعها في موديول ... ولكن إذا أعجبك الموضوع فلا تبخل بالتحميل ، ولن يكلفك التحميل سوى دقيقتين فقط .. ولا تنسى أنني ظللت أبحث لمدة ستة أشهر) حمل الملف من هنا تقبلوا وافر تقديري واحترامي
    6 points
  2. السلام عليكم ورحمة الله وبركاته إخواني الكرام في موضوع للأخ الحبيب محمد حسن أبو يوسف ، قمت بعمل تصفية للبيانات بناءً على مربع نص ، إلا أنه في مشاركة للأخ الغالي رشراش علي أن الكود لا بعمل مع الأرقام ولا يعطي نتيجة ، كما أن الأخ أحمد أبو زيزو طلب مني شرح خطوات العمل فيما يتعلق بهذا الموضوع رابط الموضوع وبناءً على طلب إخواني ، وهم يدركون أنني لا أتأخر عليهم أبداً أقدم لكم موضوع اليوم فارتأيت (حلوة ارتأيت دي ... ) أن أخصص موضوع لهذا الأمر ، نظراً للطلب عليه ، ونظراً للفائدة المرجوة منه ، حيث أنه يسهل عملية البحث من خلال تصفية البيانات المطلوبة. يعتمد الملف المرفق على مثال بسيط للتطبيق ، تم إدراج مربع نص TextBox من خلال التبويب Developer ثم من Insert اختر مربع نص TextBox من القسم ActiveX Controls والبيانات المراد التعامل معها تبدأ من الخلية C3 وحتى آخر خلية بها بيانات... إليكم إخواني الكود مع شرح مبسط للأسطر عله يفيدكم Private Sub TextBox1_Change() 'يقوم الكود بالبحث في نطاق من خلال مربع نص ، وتصفية النتائج طبقاً للنص المدخل '[Insert] ثم من قائمة [Developer] من خلال التبويب [TextBox] قم بإدراج مربع نص 'ثم قم بإدراجه على ورقة العمل [ActiveX Controls] قم بالنقر على مربع النص الموجود في '-------------------------------------------------------------------------- 'تعريف المتغيرات والثوابت Dim LastRow As Long, RngFiltered As Range, I As Long, Arr Static Rng As Range 'إلغاء خاصية اهتزاز الشاشة Application.ScreenUpdating = False 'إلغاء الفلترة في ورقة العمل النشطة ActiveSheet.AutoFilterMode = False 'قيمة تظهر كل الصفوف لهذا النطاق [Static] إذا لم يكن للثابت المسمى If Not Rng Is Nothing Then Rng.EntireRow.Hidden = False 'تحديد آخر صف به بيانات في العمود الثالث LastRow = Range("C1000").End(xlUp).Row 'أي الخلية التي تسبق أول البيانات [C2] تعيين قيمة النطاق بداية من الخلية Set Rng = Range("C2:C" & LastRow) 'تعيين قيمة للمتغير من النوع مصفوفة ليساوي كل قيم النطاق Arr = Rng.Value 'إذا كان طول السلسلة النصية في مربع النص أكبر من صفر If Len(TextBox1.Text) > Then 'حلقة تكرارية لصفوف النطاق For I = 1 To UBound(Arr, 1) '[']إذا كان العنصر داخل المصفوفة رقمي يتم وضع علامة If IsNumeric(Arr(I, 1)) Then Arr(I, 1) = "'" & Arr(I, 1) Next I 'قيم النطاق تساوي القيم الجديدة في المصفوفة Rng.Value = Arr 'تصفية النطاق بشرط النص المدخل في مربع النص Rng.AutoFilter Field:=1, Criteria1:="=" & TextBox1.Text & "*" End If 'تعيين المتغير ليساوي الخلايا الظاهرة في النطاق Set RngFiltered = Rng.SpecialCells(xlCellTypeVisible) 'إلغاء الفلترة في ورقة العمل النشطة ActiveSheet.AutoFilterMode = False 'حلقة تكرارية لإعادة الأرقام للحالة الأولى بدون العلامة البادئة For I = 1 To UBound(Arr, 1) If Left(Arr(I, 1), 1) = "'" Then Arr(I, 1) = Mid(Arr(I, 1), 2) End If Next I Rng.Value = Arr 'إخفاء الصفوف للنطاق Rng.EntireRow.Hidden = True 'إظهار الصفوف للنطاق الذي تمت عملية التصفية على أساسه RngFiltered.EntireRow.Hidden = False 'إعادة تفعيل خاصية اهتزاز الشاشة Application.ScreenUpdating = True End Sub أترككم مع الملف المرفق .. قوموا بتجربة الملف .. تم إدراج بيانات مختلفة نصوص باللغة العربية وباللغة الإنجليزية وأرقام ... حمل الملف من هنا تقبلوا تحياتي أخوكم ياسر خليل أبو البراء
    3 points
  3. جزاكم الله خيرا يا ابوالبراء كنت لسه ارفق لك الرابط لقيتك وصلت له جزاكم الله خيرا تقبل تحياتى
    3 points
  4. كلامك صحيح .. https://support.office.com/en-us/article/TEXTJOIN-function-357b449a-ec91-49d0-80c3-0e8fc845691c دا رابط فيه شرح للدالة .. بس الغريب النسخة اللي عندي متحدثة ..!! هراجع النسخة إن شاء الله بارك الله فيك وجزاك الله كل خير
    3 points
  5. شكرا أستاذ ياسر خليل ماشاء الله , اللهم زد وبارك فعلا , يمكن ربطها بالمصنف كنوع من الحماية وهذه النتيجة التي حصلت عليها بعد تطبيق الدالة : Latitude D620 , 4C4C4544-0038-4710-8058-B7Y0433334A وقد لفت انتباهي في الكود كلمة UUID وهي اختصار لكلمة Universal Unique Identifier المعرف الفريد العالمي والذي يهدف إلى أعطاء رقم خاص (كالمبين أعلاه) لكل جهاز من أجهزة الحاسوب حول العالم مهما اختلفت الشركات المصنعة لها مريدا من المعلومات على الرابط الآتي : https://en.wikipedia.org/wiki/Universally_unique_identifier
    3 points
  6. السلام عليكم ورحمة الله وبركاته ارجو ان نقدم جميعا حلولا متنوعه لهذه الحالة " المطلوب ربط الخلايا بعلامة / وترك او تخطى الخلايا الفارغة " بمعادلات او اكواد او اى طريقة حل
    2 points
  7. اعتذر يا ابو اسيل عن التاخر فى وضع المثال الاخير بعد الشرح ولكن لبعض الظروف الخارجه عن ارادتى وان شاء الله ربنا يعينى بكره اخلصه وارفعه علشان تصحح اخطائى جزاك الله خيرا يا ابو اسيل وجعله الله فى ميزان حسناتك اخوانى الافاضل ابوالبراء وعبدالعزيز وابويوسف هل قمت بتحميل البرنامج يا ابوالبراء لنتابع سويا الدروس جميل اخى عبدالعزيز الاله الحاسبه تصميم انيق ابويوسف الن تكمل معنا المشوار ؟ تقبلوا تحياتى
    2 points
  8. وعليكم السلام أخوي ابوحاتم 1. أضفت معيار حقل Class1 للنموذج Table1 ، الى الاستعلام الالحاقي: . 2. عملت الكود التالي على حدث "بعد التحديث للحقل Class1 في النموذج Table1 ، وياريت تتبع تفاصيله: Private Sub Class1_AfterUpdate() 'تأكد ان الحقل فيه رقم If Len(Me.Class1 & "") <> 0 Then 'هل هناك سجل في الجدول لهذا الرقم If DCount("*", "Table2", "[Class1]=" & Me.Class1) > Then 'لا تعطي رسائل تنبيه بالموافقة على الحاق سجلات DoCmd.SetWarnings False 'شغل الاستعلام الالحاقي DoCmd.OpenQuery "Table2 Query" 'اعطي رسائل تنبيه للاسطر التاليه DoCmd.SetWarnings True 'اطلب البيانات من الجدول من جديد للنموذج الفرعي Me.Table2_Subform.Requery 'اختر النموذج الفرعي Me.Table2_Subform.SetFocus 'اذهب الى آخر سجل ، والذي المفروض ان يكون السجل الجدي DoCmd.GoToRecord , , acLast End If 'Dcount End If 'Len End Sub . 3. اطلبك باقلة ودهن جعفر 351.d12003.2.mdb.zip
    2 points
  9. السلام عليكم ورحمة الله وبركاته ...شرف عظيم أن يكون لتلميذ صغير اسم في قائمة مليئة بالقامات العالية في البحث العلمي وتطوير البرمجيات ... شرف كبير لي أن تكتب أخي الحبيب جلال الجمال أبو أدهم بأناملك الطيبة اسمي ...فعملك هذا - لا أقول لا يقل أهمية - بل أقول هو أهم أو من الأهمية بمكان لحفظ فهرسة رائعة لمدونات وأعمال أساتذتنا الكرام ...وبذلك لا يطويها النسيان ...بل لها مفاتيح ضخمة عند أخينا العزيز أبو أدهم جزاكم الله خيراً وأحسن إليكم وجعل كل ذلك بميزان حسناتكم ...آمين والصلاة والسلام على سيد المرسلين والحمد لله ربّ العالمين. والسلام عليكم ورحمة الله وبركاته.
    2 points
  10. بارك الله فيك اخى حسام وواحشنى جدا والله واستاذى واخى فى الله ابوالبراء اما عن الدالة textjion فى دالة موجوده فى اصدار اوفيس 365 فقط وليس موجوده فى اى اصدارات اخرى ايضا قامت ميكرسوفت بعمل 2 تحديث للاكسيل فى 2016 تحديث فى اواحر يناير وتحديث فى شهر مارس وواضح ان ميكروسوفت هتعمل تحديثات بشكل مستمر ومش هتدى نسح كامله زى زمان يعنى تغيير فى سياستها هيخنوقنا علشان نجبر ونشترى البرنامج بس ده بعينهم وبالنسبة للدالة textjion فانها لم تقم بالمطلوب فى نفس المثال لانها لن تستطيع تخطى الفراغات تقبل منى خالص التحية والاحترام
    2 points
  11. اخى الحبيب ابوالبراء الداله موجوده فى اوفيس 2016 وليست معرفه اعمل تحديث يا ابوالبراء من خيارات الاكسيل تقبل تحياتى
    2 points
  12. أخي الحبيب حسام أنا أعمل على أوفيس 2016 والدالة التي ذكرتها غير موجودة ربما تكون دالة معرفة .... بارك الله فيك وجزيت خيراً على التفاعل في الموضوع
    2 points
  13. استبدل الرقم 183 في السطر For i = 2 To 183 بـ 284 اليك الكود التالي الذي يقوم بنفس العمل و اسرع بكثير حيث انه يقوم بتجميع كل الاعمدة المطلوبة وحذفها دفعة واحدة Sub Delete_Zero() Dim rg_to_del As Range, i As Integer Application.ScreenUpdating = False For i = 2 To 284 If Cells(284, i) = 0 Then If rg_to_del Is Nothing Then Set rg_to_del = Cells(284, i) Else Set rg_to_del = Union(Cells(284, i), rg_to_del) End If End If Next i rg_to_del.EntireColumn.Delete Application.ScreenUpdating = True End Sub
    2 points
  14. وعليكم السلام الخطأ في الكود انك عاملت الحقل namee على اساس انه رقم ، بينما هو نص فيصبح الكود: If DCount("*", "Table1", "[id]=" & Me![List0].Column(1) & " And [namee]='" & Me![List0].Column(2) & "'") > Then وفي نفس الوقت كانت هناك مشكله في مكان العلامة " للمعيار لذا انا دائما اقسم الكود اى مجموعة اسطر ، سطر لكل معيار ، عليه هكذا تكون الاسطر: A = "[id]=" & Me![List0].Column(1) A = A & " And [namee]='" & Me![List0].Column(2) & "'" If DCount("*", "Table1", A) > Then جعفر
    2 points
  15. تفضل حبيبي الاخطاء وكان يوجد اكواد متبدله يعني زر= كان فيه كود المسح مثلا وزر 16 مكرر مرتين وطبعا لسه انت مكملتش القائمة يوجد بندين ناقصين وهما copy & Exit في القائمة File غير كدا كله تمام مجرد ترتيب اكواد فقط كل كود في الزر الخاص به يفضل الضغط على الزر من الخارج مرتين للدخول على الحدث الخاص به ووضع الكود بداخله لضمان وضع الاكواد في مكانها الصحيح بس تصميم رائع تقبل تحياتي WindowsApplication5.rar
    2 points
  16. اخي الغالي الفريم مش لازم يبقي اسمها فريم ممكن الاسم يكون قريب من وظيفتها ادي صورتها وموضوع الاخطاء هشوف المرفق وأرد عليك تقبل تحياتي
    2 points
  17. اخى واستاذى الحبيب محمد الريفى جزاكم الله خيرا على كل ما تقدمه خدمه لاخوانك فى الوطن العربى وبخصوص الموضوع فى داله جديده من دوال اوفيس 2016 وهى TextJoin هى داله حديثه يمكن من خلالها عمل ذالك لكن للاسف ما عندى نسخه 2016م معرفه على جهازى لكى ارفق لك مثال تطبيقى اعتقد الداله هتكون بهذا الشكل =textjoin( "/";;A1:E1) ارجوا من الاخوة اللى عندهم 2016 يجرب ويعلمنى بالنتائج تقبلوا تحياتى
    2 points
  18. بسم الله ماشاء الله ربنا يبارك فيكم ويجزيكم خير حلول رائعه من اساتذه المنتدى سامحنى استاذى ابوالبراء فاننى (احبط ) احيانا نتيجة لعدم التفاعل -------. واليكم فهذه حلول متواضعه بجانب حلولكم والحقيقة كان هذا سؤال من احد الناس فوجدت انه يستاهل التفكير فاحببت ان اطرحه واشاركه معكم حتى نبدع جميعا واتمنى من الجميع تقديم المزيد والمزيد من الحلول الحل الاول =IF(MID(CONCATENATE(A1,IF(B1<>"","/",""),B1,IF(C1<>"","/",""),C1,IF(D1<>"","/",""),D1,IF(E1<>"","/",""),E1),1,1)="/", REPLACE(CONCATENATE(A1,IF(B1<>"","/",""),B1,IF(C1<>"","/",""),C1,IF(D1<>"","/",""),D1,IF(E1<>"","/",""),E1),1,1,""), CONCATENATE(A1,IF(B1<>"","/",""),B1,IF(C1<>"","/",""),C1,IF(D1<>"","/",""),D1,IF(E1<>"","/",""),E1)) الحل الثانى =A1& IF(AND(A1<>"",COUNTA(B1:E1)),"/","")& B1 & IF(AND(B1<>"",COUNTA(C1:E1)),"/","") & C1 & IF(AND(C1<>"",COUNTA(D1:E1)),"/","") & D1 & IF(AND(D1<>"",COUNTA(E1)),"/","") & E1 الحل الثالث دالة UDF وليست من اعدادى بل منقوله =ConcatRange(A1:F1,"/") Option Explicit Function ConcatRange(R As Range, Optional sDelim As String = " ") As String 'If no delimiter specified, delimiter will be a space Dim C As Range Dim V As Variant Dim COL As Collection Dim I As Long Set COL = New Collection For Each C In R If C <> "" Then COL.Add C.Text Next C ReDim V(0 To COL.Count - 1) For I = 0 To UBound(V) V(I) = COL(I + 1) Next I ConcatRange = Join(V, sDelim) End Function Concatenate%20formula.rar
    2 points
  19. (بارك الله بك اخي ياسر على هذه المعادلة الرائعة والتي لم تخطر على بالي (و انا بخبط راسي كي ابتدع حلاً مناسبا على كل حال هذا حل اخر بالكود (الصفحة My_sheet) Rifi_Salim 1.rar
    2 points
  20. أخي الحبيب محمد الريفي نشتاق لموضوعاتك الجديدة بشكل دائم ولتواجدك فيما بيننا لدي دالة معرفة تقوم بالأمر ولكني سأكتفي بهذه المعادلة البسيطة لتؤدي الغرض =SUBSTITUTE(TRIM(A1&" "&B1&" "&C1&" "&D1&" "&E1)," ","/") تقبل تحياتي
    2 points
  21. 2 points
  22. السلام عليكم ورحمة الله وبركاته إخواني وأحبابي في الله في أحد الموضوعات لأحد الأخوة الأعضاء كان قد طلب كيفية إرسال رسالة بريد إلكتروني (إيميل Email) باستخدام ملف إكسيل واليوم أقدم لكم الطريقة بالتفصيل من الألف إلى الياء ... وإن شاء الله تكون الطريقة ناجحة ومفيدة للجميع الخطوات اللازمة لعمل المطلوب : فتح حساب جديد على الـ Gmail إذا لم يكن لديك حساب وكيفية إنشاء حساب جديد مشروحة بالصور : نقوم بفتح برنامج الـ Outlook من قائمة Start ثم All Programs وندخل بيانات الحساب الذي أنشيء على الـ Gmail .. بهذا الشكل : وأخيراً وبعد عملية إنشاء الحساب وربط برنامج الـ Outlook بحساب الـ Gmail .. نقوم بفتح ملف إكسيل وفي العمود الأول ندخل الإيميلات المراد إرسال بريد إلكتروني لها .. وفي العمود الثاني نكتب اسم صاحب الايميل (اختياري) وفي العمود الثالث نكتب محتوى الرسالة المراد إرسالها .. وهذا هو الكود الذي سيقوم بمهمة إرسال رسائل البريد الالكتروني دفعة واحدة لكل الإيميلات المسجلة لديك .. ملحوظة مهمة جداً : من خلال محرر الأكواد يتم إضافة المكتبة التالية Microsoft Outlook Object Library من القائمة Tools ثم References .. Sub Mail_To_Friends() Dim SendTo As String Dim ToMSg As String Dim I As Integer For I = 2 To Cells(Rows.Count, 1).End(xlUp).Row SendTo = ThisWorkbook.Sheets(1).Cells(I, 1) If SendTo <> "" Then ToMSg = ThisWorkbook.Sheets(1).Cells(I, 3) Send_Mail SendTo, ToMSg End If Next I MsgBox "Done ...", 64 End Sub Sub Send_Mail(SendTo As String, ToMSg As String) Dim OutlookApp As Object Dim OutlookMail As Object Set OutlookApp = CreateObject("Outlook.Application") Set OutlookMail = OutlookApp.CreateItem(0) With OutlookMail .To = SendTo .CC = "" .BCC = "" .Subject = "Hello Officena" .Body = ToMSg .Send End With Set OutlookMail = Nothing Set OutlookApp = Nothing End Sub وأخيراً إليكم الملف المرفق مطبق فيه الكود وفيه نموذج لشكل ورقة العمل .. ويوجد زر أمر لعملية الإرسال .. وهذا هو الملف تقبلوا وافر تقديري واحترامي كان معكم أخوكم أبو البراء من منتدى أوفيسنا Send Mass Emails Through Outlook Using Excel VBA YasserKhalil Officena.rar
    1 point
  23. السلام عليكم ورحمة الله وبركاته إخواني الكرام .. قد يكون موضوع الكسر موضوع شائك وفيه خلاف ، ولكن ربما يكون مفيد لصاحب العمل نفسه ، حيث أنه معرض لنسيان الباسورد الذي تم وضعه على محرر الأكواد .. الموضوع مميز لأنه يقوم بكسر الحماية بدون برامج على الإطلاق ..وبدون AddIns وبدون الاستعانة بأية برامج مجانية أو مدفوعة !! كسر محرر الأكواد بالأكواد نفسها (قنبلة الموسم) وعلى رأي المثل : علمته رمي السهام فلما اشتد ساعده رماني .. الكود قليل الأصل !! محفظش الجميل للبيئة اللي هو منها ، لأنه كسر بيئة محرر الأكواد !!! Sub HackVBA() Open "C:\Users\Future\Desktop\Test.xls" For Binary As #1 Put #1, 1, Replace(Input(LOF(1), 1), "DPB=", "DPX=", , 1) Close Workbooks.Open "C:\Users\Future\Desktop\Test.xls" End Sub المطلوب فقط أن تغير مسار الملف المراد كسره داخل الكود ، والمسار يوضع بين أقواس تنصيص .. أترككم مع الفيديو عله ينال إعجابكم وتستفيدوا منه إن شاء المولى .. ولا تنسونا من اللايكات على اليوتيوب !!!!! ....أكرر اللايكات على اليوتيوب ..فضلاً لا أمراً تقبلوا تحيات أخوكم أبو البراء
    1 point
  24. السادة الأفاضل أعضاء المنتدى الكرام مرفق ملف تم تحميله من موقع اجنبي وهو يقوم بتحويل ملفات ال BDF الى امتدادات اخرى ولكن عندي مشكلة الملف لايعمل عندي برجاء المساعدة لأن في ظني الملف يساعد اشخاص كثيرة لهم نفس الطلب . وده رابط شرح كيف يعمل Convert PDF Files Into Different Format.rar
    1 point
  25. وعليكم السلام مع ان الطلب غريب ، لأنك تستخدم نموذج زيادة ولكن اليك الكود: Private Sub أمر18_Click() DoCmd.OpenForm "computer1", , , "[السريال نمبر]='" & Me.[السريال نمبر] & "'" End Sub جعفر 352.عمر الجهاز.accdb.zip
    1 point
  26. السلام عليكم ورحمة الله تفضل نقل مجموع المواد الداخلة من شيت المواد الداخلة الى شيت الكمية المباعة.rar
    1 point
  27. بسم الله الرحمن الرحيم اخى العزيز المعادلة سهلة جدا وهى sumifs شوف الملف دة اعتقد ان شاء الله ان هو المطلوب وياريت تعرفنى لو فى حاجة تانية انا معاك حل عماد غازى.rar
    1 point
  28. شكراً اخي عبدالله وبارك الله بك
    1 point
  29. أخي العزيز أحمد الخلل أنك تقوم بحذف الأعمدة من ثم يجب أن تكون الحلقة التكرارية معكوسة أي تبدأ من العمود الأكبر للأصغر ، لأنك لو بدأت كما في مشاركتك فأنه بعد حذف عمود محدد تختلف الإشارة لبقية الأعمدة ..لذا تقوم بالعكس For i = 2 To 183 استخدم السطر التالي بدلاً من هذا السطر For i = 183 To 2 Step -1
    1 point
  30. والله أنت برررررررررنس شاكر لك أستاذي الحبيب تمت بنجاااح
    1 point
  31. أخي الفاضل محي الدين إنت تؤمر يا كبير وكلنا بنستفيد في النهاية ..مفيش تعب ولا حاجة .. أنا أحب كل يوم أتعلم شيء جديد ودا فايدة التفاعل اللي قلت عليه تقبل وافر تقديري واحترامي
    1 point
  32. أخي الحبيب أبو عيد شرفني مرورك العطر بالموضوع وإن شاء الله يضاف الموضوع لموضوعات الطريق للحماية .. والتي يعاني منها الكثيرون أخي العزيز عبد الله فاروف بارك الله فيك ومشكور على كلماتك الطيبة أخي الغالي محي الدين وعليكم السلام ..وجزيت خيراً بمثل ما دعوت لي وزيادة تقبلوا جميعاً وافر تقديري واحترامي
    1 point
  33. أخي الكريم عبد الله فاروق هل قمت بتمكين الماكرو لديك ..لأني ملاحظ في الصورة المرفقة رسالة بها كلمة "Enable Content" ..؟ أمر آخر أعتقد أن الملف بحاجة لتنصيب برنامج Adobe Professional أي النسخة الكاملة من البرنامج التي يمكن من خلالها تحويل ملفات الـ PDF ..هذا والله أعلم .. تقبل تحياتي
    1 point
  34. السلام عليكم حيا الله استاذ ياسر بصراحة كنت عندي شك 90 % بأن موضوع صعب التطبيق ، وكان في نفسي هم وقلق جزيت خيرا - وزادتك الله من فضله - ورزقك من حيث لا تحتسب شكرا - شكر - شكر
    1 point
  35. وعليكم السلام أخي الكريم أبو عبد الواجد إليك الكود التالي عله يفي بالغرض يتم تجميع الكميات من أوراق العمل بعد ورقة العمل المسماة "العناوين" وتستثنى الاوراق ما قبل ذلك حمل الكود من هنا تقبل تحياتي
    1 point
  36. وعليكم السلام ورحمة الله وبركاته أخي الكريم جمال إليك الكود التالي عله يفي بالغرض حمل الكود من هنا تقبل تحياتي
    1 point
  37. أخي الكريم عزيز عرابي جرب الكود التالي على ملفك الأصلي حمل الكود من هنا
    1 point
  38. بسم الله الرحمن الرحيم احبتي في الله اليوم باذن الله سنقوم بشرح كيفية ربط الفيجوال بيسك دوت نت مع الاكسيل نقوم بفتح برنامج الفيجوال بيسك دوت نت ثم نقوم بعمل مشروع جديد ونقوم باضافة عدد واحد تكست بوكس textbox وخمسة زر button ووضعهم كما بالصورة وطبعا نقوم من تبويب الخصائص الخاص بالادوات بالتعديل على اي اداة من حيث تغيير الاسم ولون الاداة وشكلها وحجمها وحجم الخط بداخلها وغيرها وغيرها من خواص هناك طرق عدة لربط برامج كثيرة بالفيجوال ومنها الاكسيل وسوف نشرح الطريقة التى احبها واعرفها ايضا وهي ما قمت بشرحها بسلسلة الفيجوال6 وان شاء الله الاختلاف بسيط ولكن الاساس واحد وهنعتمد على المراجع وهنختار المكتبة الخاصة بالاكسيل داخل المراجع بالفيجوال كما شرحناها سابقا ومن يريد معلومة اضافية يدخل على سلسلة الفيجوال6 يراجع نفس الدرس المذكور اعلاه وهو ربط الفيجوال بالاكسيل وهذا هو الرابط سلسلة دروس الفيجوال بيسك 6 الان نقوم بالذهاب الى قائمة البرنامج الرئيسية ونختار منها بروجيكت ثم Add Reference ثم نقوم باختيار com ومنها نختار المكتبة الخاصة بالاكسيل كما موضح بالصورة الان قمنا بتصميم مشروعنا وقمنا بتجهيز المكتبات اللازمة لعمل البرنامج ينقص الان كود عمل البرنامج نضع هذا السطر في اول الكود في ال General في التصريحات العامة يعني نفتح محرر الاكواد ونيجي على اول سطر بالظبط ونضع هذا الكود به السطر دا بيربط بين المرجع وبين البرنامج Imports Excel = Microsoft.Office.Interop.Excel ثم نقوم بالاعلان عن متغيرات لسهولة التعامل مع الاكسيل من داخل برنامجنا كما بالكود التالي ولقد قمنا بشرح مثله في سلسلة الفيجوال6 Public Class Form1 'نضع المتغيرات في بداية تصريحات الفورم 1 'المتغير الاول يشير الى برنامج الاكسيل Dim xlApp As Excel.Application 'المتغير الثاني يشير الى ملف مصنف الاكسيل Dim xlWorkBook As Excel.Workbook 'المتغير الثالث يشير الى ورقة العمل Dim xlWorkSheet As Excel.Worksheet End Class ثم نضع في حدث تحميل الفورم الكود التالي Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load xlApp = New Excel.ApplicationClass 'فتح برنامج الاكسيل جديد xlWorkBook = xlApp.Workbooks.Open("d:\test.xlsx") 'فتح ملف اكسيل xlWorkSheet = xlWorkBook.Worksheets("sheet1")'تم الاشارة للمتغير هنا بالورقة 1 xlApp.Visible = False'اخفاء البرنامج End Sub ثم نأتي للزر الاول وهو زر الادخال وهو ادخال القيمة الموجودة في تكست بوكس1 الى ملف الاكسيل في العمود A وكلما ادخلنا قيمة يضعها تحت الاخرى Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim last As Long'نقوم بانشاء متغير من نوع long 'قمنا بتعريف المتغير هنا على اساسا حساب عدد الصفوف بالعمود الاول التى يوجد بها بيانات بالاضافة +1 last = xlWorkSheet.Cells(xlWorkSheet.Rows.Count, "a").End(Excel.XlDirection.xlUp).Row + 1 'هنا نحدد الخلية a& last وهي اخر خليه بها بيانات بالاضافة 1 للكتابة في السطر التالي الفارغ قيمة ما بداخل التكست بوكس1 xlWorkSheet.Range("a" & last).Value = TextBox1.Text End Sub الكود التالي زر اظهار برنامج الاكسيل Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click 'كود سهل وهو اظهار برنامج الاكسيل xlApp.Visible = True End Sub الكود التالي زر اخفاء برنامج الاكسيل Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click xlApp.Visible = False End Sub الكود التالي زر حفظ التغييرات بملف الاكسيل Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click xlWorkBook.Save() End Sub الكود التالي اغلاق برنامج الاكسيل والغاء تعريف المتغيرات Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click xlWorkBook.Save() xlWorkBook.Close() xlApp.Quit() xlApp = Nothing xlWorkBook = Nothing xlWorkSheet = Nothing MsgBox("تم اغلاق ملف الاكسيل") End Sub وبكدا نكون انتهينا من شرح الكود وربط الاكسيل بالفيجوال وهذا هو الكود كامل Imports Excel = Microsoft.Office.Interop.Excel Public Class Form1 Dim xlApp As Excel.Application Dim xlWorkBook As Excel.Workbook Dim xlWorkSheet As Excel.Worksheet Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load xlApp = New Excel.ApplicationClass xlWorkBook = xlApp.Workbooks.Open("d:\test.xlsx") xlWorkSheet = xlWorkBook.Worksheets("sheet1") xlApp.Visible = False End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click xlApp.Visible = True End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Dim last As Long last = xlWorkSheet.Cells(xlWorkSheet.Rows.Count, "a").End(Excel.XlDirection.xlUp).Row + 1 xlWorkSheet.Range("a" & last).Value = TextBox1.Text End Sub Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click xlWorkBook.Save() xlWorkBook.Close() xlApp.Quit() xlApp = Nothing xlWorkBook = Nothing xlWorkSheet = Nothing MsgBox("تم اغلاق ملف الاكسيل") End Sub Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click xlWorkBook.Save() End Sub Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click xlApp.Visible = False End Sub End Class انا قمت بوضع مثال لتكست بوكس فقط للتوضيح انا عايز منكم فهم الشرح وتطبيقه على نطاق اوسع شوية من المثال الموجود يعني عاوز برامج بجد شغل يعتمد عليه مش مجرد مثال يلا عايز اشوف شغل مش كلام ومش هحط مرفق نهائي الان لحد لما نشوف التفاعل والشغل تقبلو تحياتي ياسر العربي يتبع
    1 point
  39. اخى الحبيب ياسر ابوالبراء عندك حق اكمل ونحن معك بارك الله فيك وجزاك الله خيرا
    1 point
  40. استاذ ياسر ابوالبراء السلام عليكم ورحمة الله مهما كتبنا شكرا لك فان ما تقدمه لنا اكثر بكثير حلول وشروحات مفيده للغاية اعزكم الله نصركم الله بارك الله لك في مالك وولدك جزاكم الله خيرا بنجمع الدروس ونريد في نهاية الدروس احنا طمعين شوية المصفوفات بالذات ليس لها شروحات واضحة في المنتديات العربيه وانت تعلم انها الخطوه المهمه للبرمجه حيث تتعامل مع البيانات الكبيره والمصفوفه ليست داله كما اعلم وانما هى متغيرات كثيره تحت متغير واحد فنرجو طرح امثله عملية ثم ثم تشرح لنا كيف فكر في المثال ابوالبراء للوصول للهدف اتمنى ان يكون وصل المطلوب
    1 point
  41. جرب كلمة officena حرف الـ O صغير ... بالشكل ده officena
    1 point
  42. اخ ابو البراء لك جزيل الشكر على كلمة المرور و لا بأس وجل من لا يسهو للأسف طلعلي رسال جديدة عند محاولة فك الملف المضغوط C:\Users\admin\Desktop\Passware Password Recovery Kit Professional 11.1.4.rar: Checksum error in the encrypted file C:\Users\admin\Desktop\Passware Password Recovery Kit Professional 11.1.4.rar. Corrupt file or wrong password.
    1 point
  43. المتغيرات Variables سنبدأ بتعريف المتغير Variable و هو يشير إلى موقع تخزينى فى الذاكرة و يمكن أن يحتوى على بيانات (عددية أو حرفية) ، و يتم تعريف المتغير أثناء كتابة البرنامج ، و يمكن تغيير محتوى هذا المتغير أثناء سير البرنامج ، و كل متغير له اسم وحيد يعرف به و كل متغير له اسم وحيد يعرف به و لا يمكن وجود متغيرين أو أكثر بنفس الاسم فى مكان واحد بالذاكرة. عند تحديد اسم المتغير يجب اتباع شروط محددة: .2 أن يبدأ بحرف هجائى (انجليزى : A,B, …..Y,Z or a,b,….,y,z) .3 ألا يحتوى على علامات خاصة (؟،! ،: ، ....) .4 ألا يكون هذا الاسم من الكلمات المحفوظة فى اللغة البرمجية مثل End , Byte وغيرها .5 الاسم قد يتضمن أرقام و حروف. أنواع المتغيرات : نأتى لجزء مهم فى تكويد المتغيرات و هو تعريف المتغير و هو الإعلان عن اسم المتغير و نوعه داخل نافذة البرمجة ، و من صور المتغير داخل نافذة البرمجة: Dim VariableName As DataType أمثلة تعريف على أنواع المتغيرات السابقة: او من الممكن ان نعرفها هكذا Dim myIntegr As Integer myInteger =3 وهكذا مع جميع المتغيرات Variables وهذا درس مرفق لاخي الغالي ياسر ابو البراء عن المتغيرات Variables في الVBA وطبعا وجهه الشبه كبير بين الVBA والدوت نت من حيث المتغيرات وبعض الاكواد البرمجية بل ان معظم تعريف المتغيرات Variablesداخل نوافذ البرمجة عامة كلها شبه متطابقة طيب محتاجين مثال فيه متغيرات كتطبيق عملي اقول لكم لو قمتم بتطبيق درس الآله الحاسبة ستجدو ان به متغيرات من النوع Double و String المتغير Double تم تعريفه ليكون للقيم المدخلة من الآله الحاسبة ولماذا اختارنا هذا المتغير لانه يدعم الكسور لان العمليات الحسابية لن تخلو دائما من الكسور والمتغير String تم اختياره للعمليات الحسابية وهي العلامات + - * / واستخدمناه هنا ليتعامل مع العلامات على انها نص اتمنى ان اكون قد وصلت المعلومة بطريقة سهلة ياريت بقي نلاقي امثلة فيها متغيرات منوعه كدا من الجميع تقبلو تحياتي ياسر العربي يتبع المتغيرات نبدأ الحلقة.rar
    1 point
  44. عليكم السلام والرحمة جرب هذا السطر وقم بتغيير الحقل date الى مسمى اخر لأنه من الكلمات المحجوزة في المثال انا غيرته الى ddate DoCmd.RunSQL "DELETE leave.* FROM leave WHERE d IN ( SELECT ddate FROM record)" بالتوفيق
    1 point
  45. جزاك الله كل خير على المعلومه بالتوفيق
    1 point
  46. مجموعه من اعمال الاكسيل التى وفقنى الله فى تقديمها عام 2015 . نسال الله ان يتقبل منا ومنكم صالح الاعمال . تقبلوا تحياتى Mohamed Elrify . ----------------------------------------------------------------------- مكتبة اكسيل باللغه العربيه http://download-pdf-ebooks.net/49-1-library-books برامج مصممة بالاكسيل ------------------------------------------------------------------------ برنامج المصروفات الاصدار الثالث http://www.mediafire.com/…/%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D… ملف اكسيل حسابات عامه من قيود اليومية وحتى الميزانية http://www.mediafire.com/…/%D9%85%D9%84%D9%81+%D8%A7%D9%84%… اداره حسابات تكاليف مشاريع المقاولات (احمد هلال) http://www.mediafire.com/…/%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D… اعداد المقايسة التقديرية لعملية مقاولات (احمد هلال) http://www.mediafire.com/…/%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D… برنامج احتساب اجور العماله في شركات المقاولات (احمد هلال) http://www.mediafire.com/…/%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D… اعداد قائمة التدفقات النقدية بالطريقة الغير مباشره ل 4 فترات او سنوات بالاكسيل http://www.mediafire.com/…/%D8%A7%D8%B9%D8%AF%D8%A7%D8%AF_%… برنامج توزيع فئات النقديه http://www.mediafire.com/download/r07i8zmae6hu67c/TRUNK.xlsx جدول اعمار الديون http://www.mediafire.com/…/%D8%AC%D8%AF%D9%88%D9%84+%D8%A7%… دفتر الحضور بالاكسيل http://www.mediafire.com/…/%D8%AF%D9%81%D8%AA%D8%B1+%D8%A7%… صيغ متقدمة ------------------------------------------------------------------------ ابجدة الاسماء بالمعادلات http://www.mediafire.com/…/%D8%A7%D8%A8%D8%AC%D8%AF%D8%A9+%… الداله FORCAST والداله TREND http://www.mediafire.com/…/%D8%A7%D9%84%D8%AA%D8%A8%D8%A4%D… دالة عد الاسماء بدون تكرار http://www.mediafire.com/…/%D8%B9%D8%AF+%D8%A7%D9%84%D8%A7%… دالة HYPERLINK http://www.mediafire.com/…/%D8%AA%D8%B9%D9%84%D9%85+%D8%AF%… انشاء مخطط تكرارى بالمعادلات. بدون انشاء رسم بيانى http://www.mediafire.com/…/%D8%A7%D9%86%D8%B4%D8%A7%D8%A1+%… دالة VLOOKUP بشرطين http://www.mediafire.com/…/%D8%AF%D8%A7%D9%84%D8%A9+VLOOKUP… الترقيم التلقائى بالاكسيل http://www.mediafire.com/…/%D8%AA%D8%B1%D9%82%D9%8A%D9%85+%… القيمة المستقبلية fv http://www.mediafire.com/download/14it43a76cnc7qj/fv.rar الداله LARGE و SMALL http://www.mediafire.com/…/%D8%A7%D9%84%D8%AF%D8%A7%D9%84%D… صيغه تقريب الربع الى اقرب واحد صحيح http://www.mediafire.com/…/%D8%AA%D9%82%D8%B1%D9%8A%D8%A8+%… دالة TRUNK http://www.mediafire.com/download/r07i8zmae6hu67c/TRUNK.xlsx الرصيد التراكمى بشرط http://www.mediafire.com/…/%D8%A7%D9%84%D8%B1%D8%B5%D9%8A%D… استخراج البيانات او القيم بدون تكرار بخمس طرق مختلفه http://www.mediafire.com/…/%D8%A7%D8%B3%D8%AA%D8%AE%D8%B1%D… توليد سلسلة تواريخ http://www.mediafire.com/…/%D8%AA%D9%88%D9%84%D9%8A%D8%AF+%… استخدام دالة VLOOKUP , INDIRECT فى البحث فى العديد من الصفحات http://www.mediafire.com/downl…/oq5dho0m1ykq85o/vlookp_2.rar استخراج بيانات بشروط http://www.mediafire.com/…/%D9%85%D8%B9%D8%A7%D8%AF%D9%84%D… دالة الجمع الشرطى من صفحات متعدده http://www.mediafire.com/…/%D8%A7%D9%84%D8%AC%D9%85%D8%B9+%… المجموع الفرعى بشرط http://www.mediafire.com/…/%D8%A7%D9%84%D9%85%D8%AC%D9%85%D… استخراج اى رقم سواء فى بداية او وسط او نهاية سلسله نصيه http://www.mediafire.com/…/%D8%A7%D8%B3%D8%AA%D8%AE%D8%B1%D… التقريب لاقرب 10 جنيها http://www.mediafire.com/…/%D8%A7%D9%84%D8%AA%D9%82%D8%B1%D… حالة عملية لدالة VLOOKUP فى تحديد سعر صنف ضمن مجموعة اسعار لهذا الصنف http://www.mediafire.com/…/%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D… البحث عن اخر قيمة او نص فى عمود او فى صف حتى مع وجود فراغات http://www.mediafire.com/…/%D8%A7%D8%AE%D8%B1+%D9%82%D9%8A%… استخدام الداله max , min بشرط http://www.mediafire.com/…/%D8%AF%D9%88%D8%A7%D9%84+MAX+%2C… البحث عن اخر سعر بناء على شروط كاسم الصنف او المنتج والعميل http://www.mediafire.com/…/%D8%A7%D8%AE%D8%B1+%D8%B3%D8%B9%… تنسيق الارقام السالبة باللون الاحمر ووضعها بين قوسين http://www.mediafire.com/…/%D8%AA%D9%86%D8%B3%D9%8A%D9%82+%… حالة عملية متقدمه باستخدام الدالة VLOOKUP , MATCH , IFERROR https://www.youtube.com/watch?v=G5QV4V3OOt0 معامل الارتباط http://www.mediafire.com/…/%D9%85%D8%B9%D8%A7%D9%85%D9%84+%… دالة عد الالوان https://www.facebook.com/…/61…/%D8%A7%D9%8A%D9%85%D9%86.xlsm معادلة للتعامل مع التواريخ الهجريه http://www.mediafire.com/…/7e…/%D9%87%D8%AC%D8%B1%D9%89.xlsx المعادلة frequency https://www.facebook.com/download/441176896082998/aaa.xlsx مخططات استخدام الصور فى الرسم البيانى http://www.mediafire.com/…/%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D… مخطط بيانى لعرض البيانات الربع سنوية http://www.mediafire.com/download/39owukjsxx4nz41/CHART.xlsx موضوعات ------------------------------------------------------------------------ طريقة عمل نسخه احتياطية من ملف اكسيل https://www.youtube.com/watch?v=1xHS1snXRKs تحليل التعادل بالاكسيل 4 http://www.mediafire.com/…/%D8%AA%D8%AD%D9%84%D9%8A%D9%84+%… تحديد نقطة التعادل في حالة تعدد المنتجات http://www.mediafire.com/…/%D8%AA%D8%AD%D8%AF%D9%8A%D8%AF-%… أدوات التحليل ماذا لو ؟ pdf http://www.mediafire.com/…/%D8%A7%D8%AF%D9%88%D8%A7%D8%AA+%… أدوات التحليل ماذا لو ؟ excel file http://www.mediafire.com/…/%D9%85%D9%84%D9%81%D8%A7%D8%AA+%… فنون وأساليب التنبؤ بالاكسيل فيديو + pdf +excel files https://www.youtube.com/watch… ميزه وخاصية ممتازه وهى Flash Fill (تعبئة سريعة) https://www.youtube.com/watch?v=OZyrmcInZLU الجديد فى اكسيل 2016 http://www.mediafire.com/…/6vda4ed2a27qf…/New+EXCEL+2016.rar وفى النهاية نسال الله ان يعيننا على الاستمرار وان يوفقنا للخير صفحة خبير اكسيل صفحتى على الفيس بوك
    1 point
  47. برنامج نور التجاري والخدمي (هدية العام الهجري الجديد) ضاحي الغريب و شوقي ربيع ************** سلسلة : تعلم اكسل معي بالصوت والصورة محمد نصري ************** دروس فى VBA Excel _ نتعلم معا برمجه اكسل محمود الشريف ************** افتح الباب وادخل لعالم البرمجة (متخافوش يا أحباب من اللي ورا الباب) ياسر خليل أبو البراء ************** سلسلة علمنى كيف اصطاد ( الفورم ) Forms حسام عيسى (صقر المنتدى) ************** فورم بحث وتعديل واضافة بيانات شرح بالفيديو مع الاكواد الأستاذ المخضرم / مجدي يونس **************
    1 point
  48. إخواني الكرام إليكم الإصدار الأخير من مكتبة الصرح ، تم إضافة مجموعة جديدة من الأكواد .. أرجو المشاركة في المشروع (ايد لوحدها متصقفش) بالنسبة للموضوع هناك ميزة غير موجودة بأي موضوع آخر أن آخر مشاركة فيها حصيلة المشاركات جميعها ..يعني حضرتك لما تتأخر لأي سبب وترجع تبص على آخر مشاركة هتلم اللي فاتك كله ، بس رجاء بلاش كسل ويا ريت تشارك ولو بكود .. كودك مش هيكلفك كتير لكن هيكون لبنة في المشروع ..أرجو الاهتمام .. لا أريد أن يموت المشروع وتموت الفكرة كما ماتت من قبل .. لاحظت أن الكثيرين فكروا بما فكرت فيه ، وربما أقدموا على خطوات كبيرة ، ولكن المشكلة أنهم في مرحلة ما يتوقفوا ، ولكن بعون الله لن لن لن نتوقف ، حتى لو توفاني الله أنا واثق أن غيري سيكمل ما بدأناه هنا .. من هنا شرارة الإنطلاق ، وما زالت الأكواد مستمرة .. تابعوا معنا !!! Codes Library v1.1.rar
    1 point
  49. الأخوة الكرام بارك الله فيكم على مروركم العطر وكلماتكم الرقيقة .. الملف ييعتمد على جوجل في الترجمة (.... عشان محدش يقولي صفة وفعل : جوجل ضعيف في الترجمة بس أهو بيأدي الغرض) جزيتم خيراً إخواني الأحباب على تشجيعكم الدائم لي..
    1 point
×
×
  • اضف...

Important Information