نجوم المشاركات
Popular Content
Showing content with the highest reputation on 05/08/17 in مشاركات
-
استأذن من الاستاذنا @jjafferr , @أمير2008 رغم من كثرة الاجابات اليك هذا Private Sub Form_Load() Dim sql As String sql = "UPDATE tbTable SET tbTable.[check] = True WHERE (((tbTable.dateend)<Date()));" DoCmd.SetWarnings False DoCmd.RunSQL (sql) DoCmd.SetWarnings True End Sub3 points
-
حياك الله أخي أمير الكودين شغالين تمام ، لكني اعتمدت على كود اخي وائل بالنسبة لمقارنة التاريخ ، والآن عملت طريقتي ، وهي: Set Rs = CurrentDb.OpenRecordset("tbTable", dbOpenDynaset) Rs.MoveLast: Rs.MoveFirst RC = Rs.RecordCount For i = 1 To RC If Rs.Fields("dateend") < Date Then Rs.Edit Rs.Fields("check") = True Rs.Update End If Rs.MoveNext Next i Rs.Close: Set Rs = Nothing او طريقة النموذج مباشرة Set Rs = Me.RecordsetClone Rs.MoveLast: Rs.MoveFirst RC = Rs.RecordCount For i = 1 To RC If Rs.Fields("dateend") < Date Then Rs.Edit Rs.Fields("check") = True Rs.Update End If Rs.MoveNext Next i جعفر أخي أمير يجب ان تبدأ بـ rs.movelast قبل rs.MoveFirst وإلا فلن تحصل على جميع السجلات جعفر3 points
-
اولا // انا اضفت حقل جديد باسم ID1 الى الجدول ثانيا // اليك هذا الكود Private Sub Combo2_BeforeUpdate(Cancel As Integer) If Len(Me.Combo0 & "") = 0 Then MsgBox "اولا يجب ان تختار نوع الحركة" Me.Undo End If End Sub Private Sub Combo2_AfterUpdate() If Me.Combo2 = "مستلزمات" And Me.Combo0 = "صرف" Then Me.ID1 = Nz(DMax("[ID1]", "table1", "[warehouse]='" & Me.Combo2 & "'" & "AND [TYPE]='" & Me.Combo0 & "'"), 0) + 1 Me.Text4 = "A" & "C" & "0000" & Nz(DMax("[ID1]", "table1", "[warehouse]='" & Me.Combo2 & "'" & "AND [TYPE]='" & Me.Combo0 & "'"), 0) + 1 ElseIf Me.Combo2 = "تعبئة" And Me.Combo0 = "صرف" Then Me.ID1 = Nz(DMax("[ID1]", "table1", "[warehouse]='" & Me.Combo2 & "'" & "AND [TYPE]='" & Me.Combo0 & "'"), 0) + 1 Me.Text4 = "A" & "P" & "0000" & Nz(DMax("[ID1]", "table1", "[warehouse]='" & Me.Combo2 & "'" & "AND [TYPE]='" & Me.Combo0 & "'"), 0) + 1 ElseIf Me.Combo2 = "منتج تام" And Me.Combo0 = "صرف" Then Me.ID1 = Nz(DMax("[ID1]", "table1", "[warehouse]='" & Me.Combo2 & "'" & "AND [TYPE]='" & Me.Combo0 & "'"), 0) + 1 Me.Text4 = "A" & "G" & "0000" & Nz(DMax("[ID1]", "table1", "[warehouse]='" & Me.Combo2 & "'" & "AND [TYPE]='" & Me.Combo0 & "'"), 0) + 1 ElseIf Me.Combo2 = "مستلزمات" And Me.Combo0 = "اضافة" Then Me.ID1 = Nz(DMax("[ID1]", "table1", "[warehouse]='" & Me.Combo2 & "'" & "AND [TYPE]='" & Me.Combo0 & "'"), 0) + 1 Me.Text4 = "B" & "C" & "0000" & Nz(DMax("[ID1]", "table1", "[warehouse]='" & Me.Combo2 & "'" & "AND [TYPE]='" & Me.Combo0 & "'"), 0) + 1 ElseIf Me.Combo2 = "تعبئة" And Me.Combo0 = "اضافة" Then Me.ID1 = Nz(DMax("[ID1]", "table1", "[warehouse]='" & Me.Combo2 & "'" & "AND [TYPE]='" & Me.Combo0 & "'"), 0) + 1 Me.Text4 = "B" & "P" & "0000" & Nz(DMax("[ID1]", "table1", "[warehouse]='" & Me.Combo2 & "'" & "AND [TYPE]='" & Me.Combo0 & "'"), 0) + 1 ElseIf Me.Combo2 = "منتج تام" And Me.Combo0 = "اضافة" Then Me.ID1 = Nz(DMax("[ID1]", "table1", "[warehouse]='" & Me.Combo2 & "'" & "AND [TYPE]='" & Me.Combo0 & "'"), 0) + 1 Me.Text4 = "B" & "G" & "0000" & Nz(DMax("[ID1]", "table1", "[warehouse]='" & Me.Combo2 & "'" & "AND [TYPE]='" & Me.Combo0 & "'"), 0) + 1 End If End Sub ثالثا // اتفضل اليك قاعدة بياناتك بعد تعديل New.rar3 points
-
جزاك الله خيرا وكما قال أستاذنا جعفر تسلم ايدك وهذه فائدة صغيرة لعلك تحتاجها بوقت ما بالإمكان استبدال أسماء أجزاء الفورم بالجملة (Section(Index)) وهذه ثوابتها : Setting Constant 0 acDetail 1 acHeader 2 acFooter 3 acPageHeader 4 acPageFooter ويتحول الكود الى هذا الشكل frm.Section(0).BackColor = Color_Bu_D frm.Section(1).BackColor = Color_He_D frm.Section(2).BackColor = Color_fo_D2 points
-
السلام عليكم اخي وائل انا لم اعمل بطريقتك ، وانما عملت الاسهل لي ولك عملت جدول جديد فيه جميع الكلمات بدون تشكيله ، بهذه الطريقة لا داعي للمساس لجدولنا الاصل ، ونظرا لكثرة الكتابة عندك ، اضطررت ان اعمل الحقل txt مذكرة . عملت علاقة بين الجدولين . الحقت البيانات بالجدول الجديد ، ولاحظ هنا اني جمعت جميع حقول جدولك الى حقل واحد فقط ، والذي سيتم البحث من خلاله ، (لاحظ كيف استدعيت الوحدة النمطية: (اسم الحقل المحتوي على تشكيلة)Simplify والتي تستطيع استعمالها لاحقا لتحديث/الحاق بقية البيانات) . هذا الاستعلام سيكون مصدر بيانات نموذج البحث ، بحيث نستطيع البحث عن اي كلمة او جزء منها ، من اي حقل ، يعني صار عندنا بحث Google للجدول بالكامل وليس لحقل معين . عملت تغيير لإسم حقل البحث . اما زر البحث فيحتاج الى هذا الكود فقط . هذه الطريقة جدا مرنه ، وتستطيع عمل اللي تريده بها جعفر 643.7-5-2017 بحث الفوائد بقائمة منسدلة.accdb.zip2 points
-
نتيجة ممتازة أخى شيفان وهو المطلوب بالظبط جزاك الله كل خير ونفع بك2 points
-
2 points
-
اها انا هنا الان في خدمتك ان شاء الله اخي الكريم اولا // انا حذفت قيمة افتراضية "اي شيء" لحقل doc في نموذج رئيسي ثانيا // انا نقلت كود عند الفتح لنموذج الرئيسي لتابع حقل التاريخ zdate الى بعد تحديث لكومبوبوكس باسم Combo51 لتابع رقم طلب الصرف Me.Zdate = Date ثالثا // انا نقلت هذا الكود من بعد تحديث لكومبوبوكس باسم Combo51 لتابع رقم طلب الصرف الى قبل تحديث لنفس الكومبوبوكس Me.Transaction_subform.Visible = True Me.Transaction_subform![In].Enabled = False Me.Transaction_subform![out].Enabled = True واضفت هذا الكود بعد كود الاعلى If Me.Combo58 = "صرف" Then If DCount("[id]", "[order_sub]", "[id]='" & Me.Combo51 & "'") > 0 Then [Forms]![trans_top]![Transaction subform]![Code] = DLookup("[code]", "[order_sub]", "[id]='" & Me.Combo51 & "'") [Forms]![trans_top]![Transaction subform]![Item] = DLookup("[Item]", "[order_sub]", "[id]='" & Me.Combo51 & "'") [Forms]![trans_top]![Transaction subform]![out] = DLookup("[Qty]", "[order_sub]", "[id]='" & Me.Combo51 & "'") End If End If اي يعني في الاخير الكود قبل تحديث لكومبوبوكس باسم Combo51 لتابع رقم طلب الصرف صار هكذ Private Sub Combo51_BeforeUpdate(Cancel As Integer) Me.Transaction_subform.Visible = True Me.Transaction_subform![In].Enabled = False Me.Transaction_subform![out].Enabled = True Me.Zdate = Date If Me.Combo58 = "صرف" Then If DCount("[id]", "[order_sub]", "[id]='" & Me.Combo51 & "'") > 0 Then [Forms]![trans_top]![Transaction subform]![Code] = DLookup("[code]", "[order_sub]", "[id]='" & Me.Combo51 & "'") [Forms]![trans_top]![Transaction subform]![Item] = DLookup("[Item]", "[order_sub]", "[id]='" & Me.Combo51 & "'") [Forms]![trans_top]![Transaction subform]![out] = DLookup("[Qty]", "[order_sub]", "[id]='" & Me.Combo51 & "'") End If End If End Sub والبعد تحديث صار هكذا Private Sub Combo51_AfterUpdate() [Forms]![trans_top]![Transaction subform].SetFocus DoCmd.GoToRecord , , acNewRec End Sub اتفضل قاعدة بياناتك ex (1).rar تقبل تحياتي2 points
-
السلام عليكم ورحمة الله أخواني الكرام وعلمائنا وأساتذتنا العباقرة في هذا الصرح العملاق والأكثر من رائع بعد إنتهاء ولله الحمد من برمجة برنامج شؤون الموظفين والمرتبات ونشره في الموقع منذ فترة وجيزة على هذا الرابط برنامج شؤون وإدارة الموظفين بحلته وشكله الجديد أحببت اليوم بعد طلبات من الاصدقاء أن أقوم برفع البرنامج مفتوح المصدر لكي تتم الفائدة منه في كافة النواحي العلمية والعملية وذلك من (خلال الكودات وطريقة التصميم) ماعليكم سوا فك الضغط عن الملف المرفق وتنصيب البرنامج بكل سهولة وفي الاخير تفعيل الماكرو يعمل البرنامج على كافة أنظمة ويندوز وكافة نسخ أوفيس من 2007 ومافوق لاتنسونا من الدعاء بظهر الغيب في هذه الايام المباركة الملف بامتداد zip هو الملف كاملا Office Soft.Employ & Salary-Source.zip Office Soft.Employ _ Salary-Source.rar1 point
-
ما شاء الله لا قوة الا بالله عمل رائع جداً اخي الكريم تحياتي1 point
-
حسب فهمي لسؤالك واحتمال ان يكون فهمي لسؤالك بيكون غلط لكن اكتب الكود في نموذج قبل تحديث بدلا من حقل قبل تحديث هذا والله يعلم1 point
-
اعتقدت أنك تبحث في عمود الحالة وليس العمود الأول .. عموماً لو شاهدت الفيديو الخاص بالكود يمكنك فهم كيفية عمل الكود بشكل أفضل الحمد لله أن تم حل المشكلة تقبل تحياتي1 point
-
اخي شفان ، هذا الذي عملته انا في اول مشاركة لي ، بالضبط جعفر1 point
-
بارك الله فيك أخي الكريم نوري والحمد لله الذي بنعمته تتم الصالحات تقبل وافر تقديري واحترامي1 point
-
أخي طارق بعد 10 مشاركات منك ، و 8 مشاركات مني ، ولم تستطع ان تشرح لي المطلوب ، وبعدة محاولات مني لفهم طلبك ، انا استسلم سأغلق هذا الموضوع ، لأنه لا فائدة منه. فالرجاء منك فتح موضوع آخر وبه طلب واضح بأسماء الحقول والجداول ، ومثال عن كيف تريد ان يكون الجواب ، تعمله على اكسل او صورة او وورد ، وهذا المثال يجب ان يكون من بيانات مرفقك ، وان شاء الله تجد المساعدة. جعفر المستسلم1 point
-
اهلا بك في منتداك منتدى اوفيســــــــــــــــــــــنا اتفضل اليك هذا الكود Private Sub رقم_الكفيل_BeforeUpdate(Cancel As Integer) If Len(Me.رقم_الكفيل & "") <> 0 Then If DCount("[idyatem]", "[اليتبم مرسل]", "'=[رقم الكفيل]" & Me.رقم_الكفيل.Column(0) & "'" & _ " And [الاسم]='" & Me.الاسم & "'") > 0 Then MsgBox "يوجد يتيم آخر لنفس الكفيل " Cancel = -1 Else ارسال_Click End If Else End If End Sub واليك ملفك بعد تعديل لكن القي نظرتا الى كود الارسال عندك واعتذر منك استاذنا @ابوخليل ما رأيت مشاركتك لان النيت عندي ضعيف كتير yahya.rar1 point
-
الملف موجود به كود رسالة فعلا Private Sub Workbook_Open() MsgBox "من إعداد بوشلاغم زاكي مقتصد متوسطة طالب عبد الله **بئر الشهداء** " _ & vbNewLine & "" & vbNewLine & "مع تحياتي و احترامي للأخ مخناش جمال " _ & vbNewLine & "" & vbNewLine & "" _ , vbMsgBoxRight, "مقتصد متوسطة طالب عبد الله" End Sub1 point
-
جزاك الله خير استاذي شفان انت دوما سباق للخير شكرا لك1 point
-
1 point
-
Private Sub cmd_Android_Camera_Click() On Error GoTo err_cmd_Android_Camera_Click 'KEYCODE_POWER = 26 'KEYCODE_CAMERA = 27 'KEYCODE_BACK = 4 'KEYCODE_HOME = 3 Dim cmmd As String 'how long does it take to take the picture istart = Timer 'set BE_Path Call BE_or_FE 'Adb location App_Location = BE_Path & "Camera_App\Android_Mobile\Adb.exe" Save_images_to = BE_Path & "images\" 'image capture mode cmmd1 = App_Location & " shell " & Chr(34) & "am start -a android.media.action.STILL_IMAGE_CAMERA" & "; sleep 1; " cmmd2 = "input keyevent KEYCODE_ENTER" & "; sleep 2; " cmmd3 = "input keyevent KEYCODE_BACK" & ";" & Chr(34) cmmd = cmmd1 & cmmd2 & cmmd3 'Debug.Print cmmd Call ShellWait(cmmd, vbHidden) 'transfer the image to the PC cmmd = App_Location & " pull /sdcard/DCIM/100ANDRO/ " & Save_images_to & "temp\" Call Shell(cmmd, vbHidden) 'Delete the pictures from the mobile camera folder cmmd = App_Location & " shell rm /sdcard/DCIM/100ANDRO/*.jpg" Call Shell(cmmd, vbHidden) PauseTime = 1 Start = Timer Do While Timer < Start + PauseTime DoEvents Loop 'Delete the existing Employee_ID Kill Save_images_to & Me.Employee_ID & ".jpg" 'move the picture from folder temp and change its name Dim StrFile As String StrFile = Dir(Save_images_to & "temp\") Do While Len(StrFile) > 0 Mobile_Pic = StrFile StrFile = Dir Loop Name Save_images_to & "temp\" & Mobile_Pic As Save_images_to & Me.Employee_ID & ".jpg" PauseTime = 1 Start = Timer Do While Timer < Start + PauseTime DoEvents Loop 'show the picture in the Form Me.Pic.Picture = Save_images_to & Me.Employee_ID & ".jpg" 'Delete the temp folder RmDir Save_images_to & "temp\" 'MsgBox Timer - istart End Sub هذا هو الكود بعد التعديل1 point
-
1 point
-
لا عليك أ / خالد يمكنك ان تسأل كما تشأء لحين ان يتم الامر ان شاء الله ولكن وفقا للشروط التي ذكرتها حضرتك في البدايه أعتقد انها ليست بأخطاء حيث: بإفتراض ان الراتب 3000 في حالة اتمام 5 سنوات سيكون للموظف فى الحالات (aa,cc) ـ 7500 عن ال 5 سنوات أما الاستقاله سيتم ضرب 7500 في 2/3 = 5000 وليس 2500 وفي حالة اتمام 10 سنوات عندها يكون له عن الخمس سنوات الاولى 7500 وعن الخمس سنوات الثانية 15000 ( 5 * 3000 )= 22500 وليس 15000 وتتشابه الحالات الثلاثة في ذلك ( aa ,bb ,cc ) لهذا ارجو مزيد من التوضيح1 point
-
الاستاذ مجدي يونس والاستاذ عبد العزيز السلام عليكم ممنون على هذه الملاحظة وكانت سهواً وانا شاكر لكم هذا المرور المعطر بالورد واتنمى لكم الموفقة ان شاء الله تحياتي1 point
-
SUB تعني الجدول الكود يقوم بمسح اي كلمة في العمود قبل عملية النسخ واللصق1 point
-
اخي الكريم لم تدع لاحد عذر شرح وافي واضح وهو نفس مفهومي الاول ولكنك لم تؤكد لي من البداية انظر اخي الحبيب : انا اعطي مشورة حسب خبرتي في العمل على قواعد البيانات وكثير هنا في هذا المنتدى من هم افضل مني ولا تأتي الخبرة الا من ممارسة انواع كثيرة ومختلفة من الاعمال وتطبيقها برمجيا . من الخطوات التي انصح بالابتعاد عنها هي النسخ واللصق والالحاق والحذف داخل قاعدة البيانات مادامت المعلومة المسجلة يمكن التعامل معها وتطويعها . لو كلفت بعمل مثل هذا لجعلت tblProjectExp هو رأس النموذج و tblRealisation فرعيا ولن اكون محتاجا لحقل NumberPeinture في جدول tblProjectExp يكفي ان اكتب المعطيات في النموذج الفرعي وحين اصل الى العدد المحدد الموجود في جدول الرأس يمنعني اكسس من تجاوز الرقم هذا مجمل الفكرة وأرى انها منطقية متسلسلة حتى لو لم يظهر من السجلات الا سجلات اليوم فان المصدر سيكون استعلاما والضوابط ستكون من خلاله1 point
-
::: شكرا لك برنامج جميل ومفيد .. اتمنى لك النجاح1 point
-
1 point
-
بارك الله فيك وجزاك الله خير اخي مثال جدا رائع وفقك الله ورعاك1 point
-
غالب الامتدادات 3 حروف تفضل اخي عبدالله تم التعديل جلب وإيداع الصور3.rar1 point
-
1 point
-
اصبر فان الصبر مفتاح الفرج اذا ما وصلت عالنتيجة حتى غدا ان شاء الله غدا لي العودة تقبل تحياتي1 point
-
أخى الفاضل // ناصر المصرى السلام عليكم أحببت أن أشارك فرسان هذا المنتدى ولو بمعلومة بسيطة أمام هذة الابداعات القيمة ولاتتردد فى أى طلب طالما فى استطاعتنا **** تقبل وافر تقديرى وإحترامى وجزاكم الله خيرا1 point
-
وعليكم السلام تم التعديل على المثال بحيث يتم رفع صورة ثم نسخها على اي امتداد اتمنى يكون هو مطلوبك جلب وإيداع الصور2.rar1 point
-
استاذى وأخى // محمد صالح السلام عليكم ورحمته الله وبركاته انا قلت فى عقل بالى ياواد يابيرم سيبك من المرجع وخليك من على الدائرى أسرع أما عن الهروب فالاجمل منه عودتكم الحميده التى طال انتظارها وفقنا الله جميعا الى مايحب ويرضى *** تقبل وافر احترامى وتقديرى *** وجزاكم الله خيرا1 point
-
وتفضل مثال : يحفظ رقم اللون الذي يتم اختياره في الجدول تسجيل اللون في الجدول.rar1 point
-
1 point
-
وعليكم السلام تفضل امثله جاهزة: http://www.lebans.com/fontcolordialog.htm https://www.microsoftaccessexpert.com/Microsoft-Access-Color-Picker.aspx http://access.mvps.org/access/api/api0060.htm جعفر1 point
-
1 point
-
للاضافة نستخدم الدالة DateAdd للنقصان نستخدم الدالة DAteSerial تفضل التعديل التاريخ قبل وبعد2.rar1 point
-
السلام عليكم تفضل جرب هذا ووافنا بالنتائج ولا تنسانا من دعوة بظهر الغيب b.zip1 point
-
1 point
-
وعليكم السلام افتح على خصائص الحقل / تنسيق والصق هذه العبارة @;"سجل جديد"1 point
-
1 point
-
إخوانى الافاضل السلام عليكم ورحمته الله وبركاته نظرا لما يعانيه الكثيرمن الساده الزملاء محررى إستمارات المرتبات بالتربية والتعليم عناءا شديدا فى تسجيل صوافى مرتبات الساده العاملين صعودا وهبوطا بحثا عن كل إسم على حدى حتى يتمكن من تسجيل تلك الصوافى على الملف المعد لهذا الغرض تمهيدا لتسليمة لمسؤل وحدة الدفع والتحصيل الالكترونى للإدارة التابع لها حيث الاختلاف بين الترتيب الابجدى المطلوب لوحدة الدفع وبين الترتيب الدفترى المعمول به هذا من جهة ومن جهة أخرى أنه فى حالة إضافة موظف جديد على المدرسة أوتم حذف موظف من تلك المدرسة اوفى حالة ماتم التنقل بين المدارس ففى هذه الحالات يضطرمسئول وحدة الدفع بتحديث الملف بملف خالى من أى صوافى الامر الذى يستدعى اعادة تلك الصوافى مرة أخرى الامر الذى يكون فيه ارهاق على كاهل محررى الاستمارات وخاصة المدارس التى بها أعدادا هائلة من العاملين وتيسيرا على جميع الساده الزملاء على مستوى مدارس الجمهورية ولا يتعاملون من خلال برامج للمرتبات أتشرف بعرض هذا المرفق لعله يكون فيه الافاده والتيسير وحتى تتمكن من العمل بطريقة صائبة دون أخطأ بالمرفق عبارة عن شيتين الاول DATASAIEDAMERBIRAM والشيت الثانى تحت إسم " الدفع الاكترونى " راعيت فيه ان يكون بنفس تنسيق ملف الدفع الاكترونى يرجى اتباع الخطوات التاليه اولا أخذ نسخة من العمود الخاص بالاسماء بملف الدفع الاكترونى ثم لصقه بملف جديد ثانيا من خلال الملف الجديد يتم ترتيب الاسماء حسب ترتيب الاستمارة الورقية ثالثا بعد الانتهاء من عملية الترتيب يتم أخذ نسخة من الفقرة ثانيا ولصقه بالشيت DATASAIEDAMERBIRAM مع مراعاة تسجيل صافى المرتب قرين كل إسم بذات الشيت رابعا بعد ذلك يتم أخذ نسخة من العمود الخاص بصوافى المرتبات كقيم من الشيت " الدفع الاكترونى " ثم لصقه بالملف الاصلى المراد تسليمه لوحدة الدفع راعينا فيه عملية الحذف من الشيتين لحالات الوفاه أو الاحالة أو لاى سبب من حالات اخلاءات الطرف بالنسبة للسادة المحولون بنك ففى حالة اخلاء طرفه من البنك المحول اليه فيجب هنا تسجيل صافى راتبه وفى حالة تحويل اى موظف لاى بنك فيجب هنا تسجيل زيرو امام صافى مرتبه وحتى لايكون هناك جهدا فراعيت ان يكون هناك بحث بالاسم فيظهر لك الرقم المسلسل لهذا الموظف ومن ثم تعديل وضعه كما ورد من تعديل اما بالنسبة لحالات الاضافة فيمكنك الاضافة بعد أخراسم مدون بالشيت DATASAIEDAMERBIRAM مع مراعاة تسجيل صافى راتبه وافر تقديرى واحترامى وجزاكم الله خيرا منظومة الدفع والتحصيل الالكترونى + بحث بالاسم - سعيد بيرم.rar1 point
-
الاستاذ الفاضل // عمر الحسينى السلام عليكم ورحمته الله وبركاته والله يا أخى أنه لشرف كبير مروركم الطيب المبارك واعتذر لعدم الرد فى حينه واليك الكود الذى أتعبنا كثيرا على مدار عدة ايام بجد رغم سعادتى بتنوع الحلول خاصة مابذله معى أخى الحبيب ابو حنين من جهد كبير فجزاه الله تعالى عنى خير الجزاء وجزاكم الله خيرا إلا أننى حزين لان ماتم عليه من تعديل تعديلا طفيفا لايذكر ولكنها مشيئة الله أسعد دائما بلقائكم جميعا **** تقبلوا وافر تقديرى واحترامى Option Explicit Sub TransferMatchingItemsUsingArrays() Dim vItems As Variant, vData As Variant, vOut As Variant, i As Long vItems = Sheet2.Range("B8", Sheet2.Cells(Rows.Count, "B").End(xlUp)).Resize(, 8).Value With Sheet1.Range("B8", Sheet1.Cells(Rows.Count, "B").End(xlUp)) vData = .Value vOut = .Offset(, 22).Resize(, 2).Value With CreateObject("Scripting.Dictionary") .CompareMode = 1 For i = LBound(vItems) To UBound(vItems) ' .Item(vItems(i, 1)) = vItems(i, 8) .Item(vItems(i, 1)) = .Item(vItems(i, 1)) + vItems(i, 8) Next i For i = LBound(vData) To UBound(vData) If .Exists(vData(i, 1)) Then vOut(i, 2) = .Item(vData(i, 1)) vOut(i, 1) = vOut(i, 1) + vOut(i, 2) Else vOut(i, 2) = "" End If Next i End With .Offset(, 22).Resize(, 2).Value = vOut End With End Sub1 point
-
أخى وحبيبى فى الله أبو حنين السلام عليكم ورحمته الله وبركاته برجاء التفضل بالإطلاع على المرفق التالى حيث تم تصويب المرفق نحو المطلوب تقبل وافر تقديرى واحترامى وجزاكم الله خيرا جمع العناصر المتشابهة باستخدام المصفوفات +1111.rar1 point
-
1 point
-
استاذي محمد صالح والله عمل رائع وابداع متميز بارك الله فيك1 point
-
1 point
-
السلام عليكم بارك الله فيك اخي هشام --------------------------- ولاثراء الموضوع عندما تحرر آخر خلية فاضية في العمود A يضاف لك الصف الجديد بنفس التنسيقات والمعادلات لصف هذه الخلية الكود موجود في الوحدة النمطية للورقة1 Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = Cells(Rows.Count, 1).End(xlUp).Address Then If Target.Value <> "" Then _ kh_AutoFill (Target.Resize(1, 13).Address) End If End Sub ---------------------------------------- Function kh_AutoFill(myRng As String) With Range(myRng) .AutoFill .Resize(2) .Offset(1, 0).SpecialCells(xlCellTypeConstants).ClearContents End With End Function مخزن سيارات.rar1 point